gcl27 (2.7.1-12) unstable; urgency=medium
authorCamm Maguire <camm@debian.org>
Wed, 25 Feb 2026 13:23:26 +0000 (08:23 -0500)
committerCamm Maguire <camm@debian.org>
Wed, 25 Feb 2026 13:23:26 +0000 (08:23 -0500)
  * Version_2_7_2pre11
  * Bug fix: "FTBFS with glibc 2.43 due to ISO C23 const return types",
    thanks to Aurelien Jarno (Closes: #1128546).
  * Bug fix: "Update/add debconf template translation [INTL:ca]", thanks
    to Carles Pina i Estany (Closes: #1118704).
  * Bug fix: "[INTL:sv] Swedish strings for gcl27 debconf", thanks to
    Martin Bagge / brother (Closes: #1122744).
  * Bug fix: "[INTL:es] Spanish translation of gcl27 debconf template",
    thanks to Camaleón (Closes: #1108096).
  * Bug fix: "FTBFS: SIMPLE-ERROR: SAVE-EXEC is unable to save to file
    &quot;saved_acl2.c&quot;, because its directory does not exist.",
    thanks to Santiago Vila (Closes: #1128663).

[dgit import unpatched gcl27 2.7.1-12]

70 files changed:
1  2 
debian/README.Debian
debian/changelog
debian/control
debian/control_
debian/control_27
debian/control_cvs
debian/copyright
debian/debian-autoloads.el
debian/gcl-pkg.el.in
debian/gcl.sh
debian/gcl27.templates
debian/in.gcl-clc.sh
debian/in.gcl-doc.README.Debian
debian/in.gcl-doc.doc-base.main
debian/in.gcl-doc.doc-base.si
debian/in.gcl-doc.doc-base.xgcl
debian/in.gcl-doc.docs
debian/in.gcl-doc.info
debian/in.gcl-doc.install
debian/in.gcl-tk-doc.doc-base.tk
debian/in.gcl-tk-doc.info
debian/in.gcl-tk-doc.install
debian/in.gcl-tk.install
debian/in.gcl-tk.lintian-overrides
debian/in.gcl.1
debian/in.gcl.config
debian/in.gcl.docs
debian/in.gcl.install
debian/in.gcl.lintian-overrides
debian/in.gcl.manpages
debian/in.gcl.postinst
debian/in.gcl.postrm
debian/in.gcl.templates
debian/old.in.gcl-doc.doc-base.main
debian/patches/Version_2_7_2ore3
debian/patches/Version_2_7_2pre1
debian/patches/Version_2_7_2pre10
debian/patches/Version_2_7_2pre11
debian/patches/Version_2_7_2pre2
debian/patches/Version_2_7_2pre5
debian/patches/Version_2_7_2pre6
debian/patches/Version_2_7_2pre7
debian/patches/Version_2_7_2pre8
debian/patches/Version_2_7_2pre9
debian/patches/series
debian/po/POTFILES.in
debian/po/ca.po
debian/po/cs.po
debian/po/da.po
debian/po/de.po
debian/po/es.po
debian/po/fi.po
debian/po/fr.po
debian/po/gl.po
debian/po/in.POTFILES.in
debian/po/it.po
debian/po/ja.po
debian/po/nl.po
debian/po/pt.po
debian/po/pt_BR.po
debian/po/ru.po
debian/po/sv.po
debian/po/templates.pot
debian/po/vi.po
debian/rules
debian/source/format
debian/source/include-binaries
debian/texi.awk
debian/upstream/signing-key.asc
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8174975065b9ef8f610731e22ea1b29a72c1cdc1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,28 @@@
++The Debian package gcl
++----------------------
++
++GCL is one of the oldest free common lisp systems still in use. Several
++production systems have used it for over a decade.  The common lisp
++standard in effect when GCL was first released is known as "Common Lisp,
++the Language" (CLtL1) after a book by Steele of the same name providing
++this specification.  Subsequently, a much expanded standard was adopted by
++the American National Standards Institute (ANSI), which is still
++considered the definitive common lisp language specification to this day. 
++
++Debian GCL now installs both the small 'traditional' lisp image
++designed to conform to a pre-ANSI Lisp standard, and an experimental
++ANSI image.  Please note that ANSI support in GCL is still
++preliminary.  On an ansi-test suite written by a GCL developer, GCL
++fails on a little under 3 percent of the tests.  Details can be found
++in /usr/share/doc/gcl/test_results.gz.
++
++To toggle the use of the ANSI image, set the environment variable
++GCL_ANSI to any non-empty string.
++
++New in 2.6.2
++------------
++
++Please see the RELEASE-2.6.2.html file for release note information,
++regression testing, and sample benchmarks.
++
++ -- Camm Maguire <camm@enhanced.com>, Wed Dec 14 18:55:19 2005
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b136e95befefc9444d19a9c8c13763caa612d1da
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4579 @@@
++gcl27 (2.7.1-12) unstable; urgency=medium
++
++  * Version_2_7_2pre11
++  * Bug fix: "FTBFS with glibc 2.43 due to ISO C23 const return types",
++    thanks to Aurelien Jarno (Closes: #1128546).
++  * Bug fix: "Update/add debconf template translation [INTL:ca]", thanks
++    to Carles Pina i Estany (Closes: #1118704).
++  * Bug fix: "[INTL:sv] Swedish strings for gcl27 debconf", thanks to
++    Martin Bagge / brother (Closes: #1122744).
++  * Bug fix: "[INTL:es] Spanish translation of gcl27 debconf template",
++    thanks to Camaleón (Closes: #1108096).
++  * Bug fix: "FTBFS: SIMPLE-ERROR: SAVE-EXEC is unable to save to file
++    &quot;saved_acl2.c&quot;, because its directory does not exist.",
++    thanks to Santiago Vila (Closes: #1128663).
++
++ -- Camm Maguire <camm@debian.org>  Wed, 25 Feb 2026 08:23:26 -0500
++
++gcl27 (2.7.1-11) unstable; urgency=medium
++
++  * Version_2_7_2pre10
++
++ -- Camm Maguire <camm@debian.org>  Sun, 22 Feb 2026 11:52:14 -0500c
++
++gcl27 (2.7.1-10) unstable; urgency=medium
++
++  * Version_2_7_2pre9
++
++ -- Camm Maguire <camm@debian.org>  Thu, 19 Feb 2026 17:21:25 -0500
++
++gcl27 (2.7.1-9) unstable; urgency=medium
++
++  * Version_2_7_2pre8
++
++ -- Camm Maguire <camm@debian.org>  Thu, 19 Feb 2026 16:06:23 -0500
++
++gcl27 (2.7.1-8) unstable; urgency=medium
++
++  * Bug fix: "FTBFS: /tmp/gazonk_6005_0.c:21:63: error: implicit
++    declaration of function &#39;__builtin_c23_va_start&#39;; did you mean
++    &#39;__builtin_ms_va_start&#39;? [-Wimplicit-function-declaration]",
++    thanks to Santiago Vila (Closes: #1114119).
++  * Version_2_7_2pre7
++
++ -- Camm Maguire <camm@debian.org>  Sun, 21 Sep 2025 14:06:45 -0400
++
++gcl27 (2.7.1-7) unstable; urgency=medium
++
++  * Version_2_7_2pre6
++  * Bug fix: "[INTL:nl] Dutch debconf templates translation", thanks to Frans Spiesschaert (Closes: #1106482).
++
++ -- Camm Maguire <camm@debian.org>  Thu, 29 May 2025 19:11:18 -0400
++
++gcl27 (2.7.1-6) unstable; urgency=medium
++
++  * Version_2_7_2pre5
++
++ -- Camm Maguire <camm@debian.org>  Wed, 14 May 2025 02:58:40 -0400
++
++gcl27 (2.7.1-5) unstable; urgency=medium
++
++  * Version_2_7_2pre4
++  * Bug fix: "[INTL:pt] Portuguese translation - debconf messages", thanks
++    to Américo Monteiro (Closes: #1104887).
++  * Bug fix: "[INTL:de] updated German debconf translation", thanks to
++    Helge Kreutzmann (Closes: #1104918).
++
++ -- Camm Maguire <camm@debian.org>  Sat, 10 May 2025 19:27:15 -0400
++
++gcl27 (2.7.1-4) unstable; urgency=medium
++
++  * Version_2_7_2ore3
++
++ -- Camm Maguire <camm@debian.org>  Sat, 03 May 2025 09:21:20 -0400
++
++gcl27 (2.7.1-3) unstable; urgency=medium
++
++  * Version_2_7_2ore2
++
++ -- Camm Maguire <camm@debian.org>  Tue, 22 Apr 2025 20:39:18 -0400
++
++gcl27 (2.7.1-2) unstable; urgency=medium
++
++  * Version_2_7_2ore1
++
++ -- Camm Maguire <camm@debian.org>  Fri, 11 Apr 2025 20:30:34 -0400
++
++gcl27 (2.7.1-1) unstable; urgency=medium
++
++  * New upstream release
++
++ -- Camm Maguire <camm@debian.org>  Thu, 10 Apr 2025 21:39:17 -0400
++
++gcl27 (2.7.0-36) unstable; urgency=medium
++
++  * Version_2_7_0pre39
++
++ -- Camm Maguire <camm@debian.org>  Mon, 24 Mar 2025 16:30:46 -0400
++
++gcl27 (2.7.0-35) unstable; urgency=medium
++
++  * Version_2_7_0pre38
++  * Bug fix: "ftbfs with GCC-15", thanks to Matthias Klose (Closes:
++    #1096686).
++
++ -- Camm Maguire <camm@debian.org>  Thu, 06 Mar 2025 10:54:11 -0500
++
++gcl27 (2.7.0-34) unstable; urgency=medium
++
++  * Version_2_7_0pre37
++  * Bug fix: "outdated debconf version constraint; inhibits support for
++    debconf-2.0/cdebconf", thanks to Gioele Barabucci (Closes: #1096166).
++
++ -- Camm Maguire <camm@debian.org>  Tue, 18 Feb 2025 12:50:30 -0500
++
++gcl27 (2.7.0-33) unstable; urgency=medium
++
++  * Version_2_7_0pre36
++
++ -- Camm Maguire <camm@debian.org>  Sat, 08 Feb 2025 15:29:48 -0500
++
++gcl27 (2.7.0-32) unstable; urgency=medium
++
++  * Version_2_7_0pre35
++
++ -- Camm Maguire <camm@debian.org>  Sun, 02 Feb 2025 12:00:42 -0500
++
++gcl27 (2.7.0-31) unstable; urgency=medium
++
++  * Version_2_7_0pre34
++
++ -- Camm Maguire <camm@debian.org>  Fri, 17 Jan 2025 18:42:15 -0500
++
++gcl27 (2.7.0-30) unstable; urgency=medium
++
++  * Version_2_7_0pre33
++
++ -- Camm Maguire <camm@debian.org>  Fri, 27 Dec 2024 13:21:13 -0500
++
++gcl27 (2.7.0-29) unstable; urgency=medium
++
++  * Version_2_7_0pre32
++
++ -- Camm Maguire <camm@debian.org>  Mon, 09 Dec 2024 10:00:39 -0500
++
++gcl27 (2.7.0-28) unstable; urgency=medium
++
++  * Version_2_7_0pre31
++
++ -- Camm Maguire <camm@debian.org>  Wed, 04 Dec 2024 13:25:14 -0500
++
++gcl27 (2.7.0-27) unstable; urgency=medium
++
++  * Version_2_7_0pre30
++
++ -- Camm Maguire <camm@debian.org>  Wed, 04 Dec 2024 07:48:31 -0500
++
++gcl27 (2.7.0-26) unstable; urgency=medium
++
++  * Version_2_7_0pre29
++
++ -- Camm Maguire <camm@debian.org>  Sat, 23 Nov 2024 11:33:30 -0500
++
++gcl27 (2.7.0-25) unstable; urgency=medium
++
++  * Bug fix: "needs rebuild against dh-elpa &gt;=2.1.5", thanks to
++    spwhitton@spwhitton.name</a>; (Closes: #1077103).
++
++ -- Camm Maguire <camm@debian.org>  Sun, 28 Jul 2024 12:07:24 -0400
++
++gcl27 (2.7.0-24) unstable; urgency=medium
++
++  * Version_2_7_0pre27
++
++ -- Camm Maguire <camm@debian.org>  Fri, 19 Jul 2024 15:04:27 -0400
++
++gcl27 (2.7.0-23) unstable; urgency=medium
++
++  * Version_2_7_0pre26
++
++ -- Camm Maguire <camm@debian.org>  Sun, 28 Apr 2024 22:13:09 -0400
++
++gcl27 (2.7.0-22) unstable; urgency=medium
++
++  * Version_2_7_0pre25
++
++ -- Camm Maguire <camm@debian.org>  Sun, 28 Apr 2024 07:55:48 -0400
++
++gcl27 (2.7.0-21) unstable; urgency=high
++
++  * Version_2_7_0pre24
++  * Bug fix: "recent libc6-dev change causes XDR support to be dropped",
++    thanks to Aurelien Jarno (Closes: #1065207).
++
++ -- Camm Maguire <camm@debian.org>  Fri, 15 Mar 2024 20:00:19 -0400
++
++gcl27 (2.7.0-20) unstable; urgency=medium
++
++  * Version_2_7_0pre23
++
++ -- Camm Maguire <camm@debian.org>  Thu, 29 Feb 2024 06:51:25 -0500
++
++gcl27 (2.7.0-19) unstable; urgency=medium
++
++  * Version_2_7_0pre22
++
++ -- Camm Maguire <camm@debian.org>  Wed, 28 Feb 2024 13:35:45 -0500
++
++gcl27 (2.7.0-18) unstable; urgency=medium
++
++  * Version_2_7_0pre21
++
++ -- Camm Maguire <camm@debian.org>  Sat, 24 Feb 2024 08:40:29 -0500
++
++gcl27 (2.7.0-17) unstable; urgency=medium
++
++  * Version_2_7_0pre20
++
++ -- Camm Maguire <camm@debian.org>  Fri, 23 Feb 2024 12:23:51 -0500
++
++gcl27 (2.7.0-16) unstable; urgency=medium
++
++  * Version_2_7_0pre19
++
++ -- Camm Maguire <camm@debian.org>  Thu, 22 Feb 2024 22:03:20 -0500
++
++gcl27 (2.7.0-15) unstable; urgency=medium
++
++  * Version_2_7_0pre18
++
++ -- Camm Maguire <camm@debian.org>  Thu, 22 Feb 2024 15:00:44 -0500
++
++gcl27 (2.7.0-14) unstable; urgency=medium
++
++  * Version_2_7_0pre17
++
++ -- Camm Maguire <camm@debian.org>  Wed, 21 Feb 2024 08:03:46 -0500
++
++gcl27 (2.7.0-13) unstable; urgency=medium
++
++  * Version_2_7_0pre16
++
++ -- Camm Maguire <camm@debian.org>  Wed, 21 Feb 2024 00:17:54 -0500
++
++gcl27 (2.7.0-12) unstable; urgency=medium
++
++  * Version_2_7_0pre15
++
++ -- Camm Maguire <camm@debian.org>  Mon, 19 Feb 2024 19:08:05 -0500
++
++gcl27 (2.7.0-11) unstable; urgency=medium
++
++  * Version_2_7_0pre14
++
++ -- Camm Maguire <camm@debian.org>  Mon, 19 Feb 2024 11:04:51 -0500
++
++gcl27 (2.7.0-10) unstable; urgency=medium
++
++  * Version_2_7_0pre13
++
++ -- Camm Maguire <camm@debian.org>  Sun, 28 Jan 2024 20:17:32 -0500
++
++gcl27 (2.7.0-9) unstable; urgency=medium
++
++  * Version_2_7_0pre12
++
++ -- Camm Maguire <camm@debian.org>  Sun, 28 Jan 2024 18:09:15 -0500
++
++gcl27 (2.7.0-8) unstable; urgency=medium
++
++  * Version_2_7_0pre11
++
++ -- Camm Maguire <camm@debian.org>  Sun, 28 Jan 2024 10:36:24 -0500
++
++gcl27 (2.7.0-7) unstable; urgency=medium
++
++  * Version_2_7_0pre10
++
++ -- Camm Maguire <camm@debian.org>  Sat, 27 Jan 2024 12:35:03 -0500
++
++gcl27 (2.7.0-6) unstable; urgency=medium
++
++  * Version_2_7_0pre9
++
++ -- Camm Maguire <camm@debian.org>  Thu, 21 Dec 2023 15:02:31 -0500
++
++gcl27 (2.7.0-5) unstable; urgency=medium
++
++  * Version_2_7_0pre8
++
++ -- Camm Maguire <camm@debian.org>  Thu, 21 Dec 2023 13:08:00 -0500
++
++gcl27 (2.7.0-4) unstable; urgency=medium
++
++  * Version_2_7_0pre7
++
++ -- Camm Maguire <camm@debian.org>  Thu, 21 Dec 2023 09:37:49 -0500
++
++gcl27 (2.7.0-3) unstable; urgency=medium
++
++  * Version_2_7_0pre5
++
++ -- Camm Maguire <camm@debian.org>  Wed, 20 Dec 2023 19:43:39 -0500
++
++gcl27 (2.7.0-2) unstable; urgency=medium
++
++  * Version_2_7_0pre4
++
++ -- Camm Maguire <camm@debian.org>  Wed, 20 Dec 2023 16:01:04 -0500
++
++gcl27 (2.7.0-1) unstable; urgency=medium
++
++  * Version_2_7_0pre3
++
++ -- Camm Maguire <camm@debian.org>  Thu, 14 Dec 2023 16:20:45 -0500
++
++gcl (2.6.13-5) unstable; urgency=medium
++
++  * Version_2_6_14pre4
++
++ -- Camm Maguire <camm@debian.org>  Sun, 25 Dec 2022 07:14:33 -0500
++
++gcl (2.6.13-4) unstable; urgency=medium
++
++  * Version_2_6_14pre3
++
++ -- Camm Maguire <camm@debian.org>  Fri, 23 Dec 2022 11:34:35 -0500
++
++gcl (2.6.13-3) unstable; urgency=medium
++
++  * Version_2_6_14pre2
++
++ -- Camm Maguire <camm@debian.org>  Thu, 22 Dec 2022 19:09:24 -0500
++
++gcl (2.6.13-2) unstable; urgency=medium
++
++  * Version_2_6_14pre1
++
++ -- Camm Maguire <camm@debian.org>  Wed, 21 Dec 2022 14:40:21 -0500
++
++gcl (2.6.13-1) unstable; urgency=medium
++
++  * New Upstream Release
++
++ -- Camm Maguire <camm@debian.org>  Tue, 20 Dec 2022 10:35:44 -0500
++
++gcl (2.6.12-131) unstable; urgency=medium
++
++  * Version_2.6.13pre131
++
++ -- Camm Maguire <camm@debian.org>  Sat, 17 Dec 2022 12:15:58 -0500
++
++gcl (2.6.12-130) unstable; urgency=medium
++
++  * Version_2.6.13pre130
++
++ -- Camm Maguire <camm@debian.org>  Fri, 16 Dec 2022 12:41:29 -0500
++
++gcl (2.6.12-129) unstable; urgency=medium
++
++  * Version_2.6.13pre129
++
++ -- Camm Maguire <camm@debian.org>  Sun, 13 Nov 2022 07:55:14 -0500
++
++gcl (2.6.12-128) unstable; urgency=medium
++
++  * Version_2.6.13pre128
++
++ -- Camm Maguire <camm@debian.org>  Sat, 12 Nov 2022 11:02:31 -0500
++
++gcl (2.6.12-126) unstable; urgency=medium
++
++  * Version_2.6.13pre126
++
++ -- Camm Maguire <camm@debian.org>  Tue, 08 Nov 2022 19:43:41 -0500
++
++gcl (2.6.12-125) unstable; urgency=medium
++
++  * Version_2.6.13pre125
++
++ -- Camm Maguire <camm@debian.org>  Tue, 08 Nov 2022 15:33:25 -0500
++
++gcl (2.6.12-124) unstable; urgency=medium
++
++  * Version_2.6.13pre124
++
++ -- Camm Maguire <camm@debian.org>  Thu, 11 Aug 2022 13:16:42 -0400
++
++gcl (2.6.12-123) unstable; urgency=medium
++
++  * Version_2.6.13pre123
++
++ -- Camm Maguire <camm@debian.org>  Mon, 08 Aug 2022 13:00:55 -0400
++
++gcl (2.6.12-122) unstable; urgency=medium
++
++  * Version_2.6.13pre122
++
++ -- Camm Maguire <camm@debian.org>  Mon, 08 Aug 2022 11:50:22 -0400
++
++gcl (2.6.12-121) unstable; urgency=medium
++
++  * Version_2.6.13pre121
++
++ -- Camm Maguire <camm@debian.org>  Mon, 08 Aug 2022 11:45:30 -0400
++
++gcl (2.6.12-120) unstable; urgency=medium
++
++  * Version_2.6.13pre120
++
++ -- Camm Maguire <camm@debian.org>  Sun, 07 Aug 2022 12:26:10 -0400
++
++gcl (2.6.12-119) unstable; urgency=medium
++
++  * Version_2.6.13pre119
++
++ -- Camm Maguire <camm@debian.org>  Sun, 31 Jul 2022 12:00:02 -0400
++
++gcl (2.6.12-118) unstable; urgency=medium
++
++  * Bug fix: "emacs dependency should be &quot;emacs | emacsen&quot;",
++    thanks to Adrian Bunk (Closes: #1006617).
++  * Bug fix: "Please remove dependency on install-info", thanks to
++    hille42@web.de</a>; (Closes: #1013691).
++  * Version_2.6.13pre118
++
++ -- Camm Maguire <camm@debian.org>  Tue, 12 Jul 2022 17:17:09 -0400
++
++gcl (2.6.12-117) unstable; urgency=medium
++
++  * Version_2.6.13pre114
++
++ -- Camm Maguire <camm@debian.org>  Sat, 25 Dec 2021 11:38:16 -0500
++
++gcl (2.6.12-116) unstable; urgency=medium
++
++  * Version_2.6.13pre113
++
++ -- Camm Maguire <camm@debian.org>  Wed, 22 Dec 2021 19:52:18 +0000
++
++gcl (2.6.12-115) unstable; urgency=medium
++
++  * Version_2.6.13pre112
++
++ -- Camm Maguire <camm@debian.org>  Fri, 17 Dec 2021 16:08:45 +0000
++
++gcl (2.6.12-114) unstable; urgency=medium
++
++  * Version_2.6.13pre111
++
++ -- Camm Maguire <camm@debian.org>  Thu, 16 Dec 2021 11:35:04 +0000
++
++gcl (2.6.12-113) unstable; urgency=medium
++
++  * Version_2.6.13pre110
++
++ -- Camm Maguire <camm@debian.org>  Thu, 16 Dec 2021 11:35:04 +0000
++
++gcl (2.6.12-112) unstable; urgency=medium
++
++  * Version_2.6.13pre109
++
++ -- Camm Maguire <camm@debian.org>  Wed, 15 Dec 2021 19:39:42 +0000
++
++gcl (2.6.12-111) unstable; urgency=medium
++
++  * Version_2.6.13pre108
++
++ -- Camm Maguire <camm@debian.org>  Thu, 11 Nov 2021 17:10:43 +0000
++
++gcl (2.6.12-110) unstable; urgency=medium
++
++  * Version_2.6.13pre107
++
++ -- Camm Maguire <camm@debian.org>  Thu, 11 Nov 2021 01:34:07 +0000
++
++gcl (2.6.12-109) unstable; urgency=medium
++
++  * Version_2.6.13pre106
++
++ -- Camm Maguire <camm@debian.org>  Wed, 10 Nov 2021 18:57:21 +0000
++
++gcl (2.6.12-108) unstable; urgency=medium
++
++  * Version_2.6.13pre105
++
++ -- Camm Maguire <camm@debian.org>  Tue, 09 Nov 2021 18:22:58 +0000
++
++gcl (2.6.12-107) unstable; urgency=medium
++
++  * Version_2.6.13pre103
++
++ -- Camm Maguire <camm@debian.org>  Tue, 09 Nov 2021 10:10:19 +0000
++
++gcl (2.6.12-106) unstable; urgency=medium
++
++  * Version_2.6.13pre102
++
++ -- Camm Maguire <camm@debian.org>  Thu, 04 Nov 2021 14:33:53 +0000
++
++gcl (2.6.12-105) unstable; urgency=medium
++
++  * Version_2.6.13pre101
++  * Bug fix: "fails to start with glibc 2.33", thanks to Andreas Kloeckner
++    (Closes: #995323).
++
++ -- Camm Maguire <camm@debian.org>  Sun, 10 Oct 2021 13:18:39 +0000
++
++gcl (2.6.12-104) unstable; urgency=medium
++
++  * Version_2.6.13pre100
++  * standardize cstack start address on 32bit arm
++
++ -- Camm Maguire <camm@debian.org>  Sun, 10 Oct 2021 12:44:51 +0000
++
++gcl (2.6.12-103) unstable; urgency=medium
++
++  * Bug fix: "Fails to install in unstable", thanks to Samuel Thibault
++    (Closes: #993480).
++
++ -- Camm Maguire <camm@debian.org>  Sat, 04 Sep 2021 19:23:26 +0000
++
++gcl (2.6.12-102) unstable; urgency=medium
++
++  * Version_2.6.13pre99
++  * Bug fix: "describe fails because gcl-si.info does not exist", thanks
++    to Leo Butler (Closes: #980003).
++
++ -- Camm Maguire <camm@debian.org>  Fri, 29 Jan 2021 19:08:05 +0000
++
++gcl (2.6.12-101) unstable; urgency=medium
++
++  * Version_2.6.13pre98
++
++ -- Camm Maguire <camm@debian.org>  Sun, 17 Jan 2021 16:25:34 +0000
++
++gcl (2.6.12-100) unstable; urgency=medium
++
++  * Version_2.6.13pre97
++
++ -- Camm Maguire <camm@debian.org>  Fri, 04 Dec 2020 14:51:41 +0000
++
++gcl (2.6.12-99) unstable; urgency=medium
++
++  * Version_2.6.13pre95
++
++ -- Camm Maguire <camm@debian.org>  Sat, 28 Nov 2020 15:50:42 +0000
++
++gcl (2.6.12-98) unstable; urgency=medium
++
++  * Version_2.6.13pre94
++
++ -- Camm Maguire <camm@debian.org>  Tue, 29 Sep 2020 18:29:10 +0000
++
++gcl (2.6.12-97) unstable; urgency=medium
++
++  * Bug fix: "Removal of obsolete debhelper compat 5 and 6 in bookworm",
++    thanks to Niels Thykier (Closes: #965543).
++  * Version_2.6.13pre93
++
++ -- Camm Maguire <camm@debian.org>  Sat, 29 Aug 2020 16:23:07 +0000
++
++gcl (2.6.12-96) unstable; urgency=high
++
++  * Version_2.6.13pre92: Work around armhf strip bug producing undefined
++    instruction in .plt
++
++ -- Camm Maguire <camm@debian.org>  Sun, 23 Aug 2020 17:53:14 +0000
++
++gcl (2.6.12-95) unstable; urgency=high
++
++  * Version_2_6_13pre90
++  * build under GCL_MEM_MULTIPLE=0.1
++  * Bug fix: "FTBFS: Unrecoverable error: Segmentation violation..",
++    thanks to Lucas Nussbaum (Closes: #952334).
++
++ -- Camm Maguire <camm@debian.org>  Fri, 01 May 2020 12:55:02 +0000
++
++gcl (2.6.12-94) unstable; urgency=medium
++
++  * re-release to overcome hopefully transient buildd failure
++
++ -- Camm Maguire <camm@debian.org>  Mon, 24 Feb 2020 20:02:52 +0000
++
++gcl (2.6.12-93) unstable; urgency=medium
++
++  * Version_2_6_13pre90
++
++ -- Camm Maguire <camm@debian.org>  Fri, 21 Feb 2020 19:06:56 +0000
++
++gcl (2.6.12-92) unstable; urgency=medium
++
++  * Version_2_6_13pre89
++
++ -- Camm Maguire <camm@debian.org>  Mon, 30 Dec 2019 15:46:22 +0000
++
++gcl (2.6.12-91) unstable; urgency=medium
++
++  * Version_2_6_13pre88
++
++ -- Camm Maguire <camm@debian.org>  Wed, 18 Dec 2019 20:14:09 +0000
++
++gcl (2.6.12-90) unstable; urgency=medium
++
++  * Version_2_6_13pre87
++  * latest standards
++
++ -- Camm Maguire <camm@debian.org>  Sun, 08 Dec 2019 19:27:24 +0000
++
++gcl (2.6.12-89) unstable; urgency=medium
++
++  * Bug fix: "gcl - FTBFS on ppc64el - invalid relocation type 31", thanks
++    to thierry.fauck@fr.ibm.com</a>; (Closes: #942312).
++  * Bug fix: "FTBFS on ppc64el", thanks to Ivo De Decker (Closes:
++    #944651).
++
++ -- Camm Maguire <camm@debian.org>  Sat, 07 Dec 2019 23:27:53 +0000
++
++gcl (2.6.12-88) unstable; urgency=medium
++
++  * Source only upload
++
++ -- Camm Maguire <camm@debian.org>  Fri, 11 Oct 2019 19:18:44 +0000
++
++gcl (2.6.12-87) unstable; urgency=medium
++
++  * Version_2_6_13pre84
++
++ -- Camm Maguire <camm@debian.org>  Sat, 06 Apr 2019 13:03:21 +0000
++
++gcl (2.6.12-86) unstable; urgency=medium
++
++  * Version_2_6_13pre83
++
++ -- Camm Maguire <camm@debian.org>  Tue, 02 Apr 2019 19:57:15 +0000
++
++gcl (2.6.12-85) unstable; urgency=medium
++
++  * Version_2_6_13pre82
++
++ -- Camm Maguire <camm@debian.org>  Thu, 28 Mar 2019 18:48:55 +0000
++
++gcl (2.6.12-84) unstable; urgency=medium
++
++  * Version_2_6_13pre80
++
++ -- Camm Maguire <camm@debian.org>  Thu, 21 Mar 2019 18:59:40 +0000
++
++gcl (2.6.12-83) unstable; urgency=high
++
++  * Version_2_6_13pre79
++  * Fix acl2 arm builds (Closes: #919477).
++
++ -- Camm Maguire <camm@debian.org>  Tue, 05 Feb 2019 21:54:42 +0000
++
++gcl (2.6.12-82) unstable; urgency=high
++
++  * Version_2_6_13pre74
++
++ -- Camm Maguire <camm@debian.org>  Sat, 02 Feb 2019 17:40:20 +0000
++
++gcl (2.6.12-81) unstable; urgency=high
++
++  * Version_2_6_13pre72
++  * Fix to ppc64el for acl2 FTBFS bug
++
++ -- Camm Maguire <camm@debian.org>  Mon, 21 Jan 2019 16:40:36 +0000
++
++gcl (2.6.12-80) unstable; urgency=medium
++
++  * Version_2_6_13pre71
++  * Bug fix: "FTBFS on hppa - segmentation fault assembling gbc.s", thanks
++    to John David Anglin (Closes: #912071).
++
++ -- Camm Maguire <camm@debian.org>  Tue, 30 Oct 2018 17:20:43 +0000
++
++gcl (2.6.12-79) unstable; urgency=medium
++
++  * Version_2_6_13pre70
++
++ -- Camm Maguire <camm@debian.org>  Mon, 29 Oct 2018 16:52:17 +0000
++
++gcl (2.6.12-78) unstable; urgency=medium
++
++  * rebuild against latest compilers and tools
++  * Version_2_6_13pre69
++
++ -- Camm Maguire <camm@debian.org>  Thu, 11 Oct 2018 16:40:48 +0000
++
++gcl (2.6.12-77) unstable; urgency=medium
++
++  * Version_2_6_13pre68
++  * Bug fix: "GCL fails to load .o files it generates", thanks to Gong-Yi
++    Liao (Closes: #902475).  Add support for R_X86_64_PLT32 relocs.
++
++ -- Camm Maguire <camm@debian.org>  Tue, 24 Jul 2018 20:06:45 +0000
++
++gcl (2.6.12-76) unstable; urgency=medium
++
++  * Version_2_6_13pre67
++
++ -- Camm Maguire <camm@debian.org>  Fri, 23 Mar 2018 19:25:22 +0000
++
++gcl (2.6.12-75) unstable; urgency=medium
++
++  * Version_2_6_13pre65
++
++ -- Camm Maguire <camm@debian.org>  Wed, 21 Mar 2018 20:28:08 +0000
++
++gcl (2.6.12-74) unstable; urgency=medium
++
++  * Version_2_6_13pre63
++
++ -- Camm Maguire <camm@debian.org>  Sat, 17 Mar 2018 11:56:05 +0000
++
++gcl (2.6.12-73) unstable; urgency=medium
++
++  * Version_2_6_13pre62
++
++ -- Camm Maguire <camm@debian.org>  Wed, 14 Mar 2018 15:38:43 +0000
++
++gcl (2.6.12-72) unstable; urgency=medium
++
++  * Version_2_6_13pre61
++
++ -- Camm Maguire <camm@debian.org>  Tue, 13 Mar 2018 15:32:44 +0000
++
++gcl (2.6.12-71) unstable; urgency=medium
++
++  * Version_2_6_13pre60
++
++ -- Camm Maguire <camm@debian.org>  Mon, 12 Mar 2018 19:44:47 +0000
++
++gcl (2.6.12-70) unstable; urgency=medium
++
++  * Version_2_6_13pre59
++
++ -- Camm Maguire <camm@debian.org>  Mon, 12 Mar 2018 16:19:00 +0000
++
++gcl (2.6.12-69) unstable; urgency=medium
++
++  * Version_2_6_13pre58
++
++ -- Camm Maguire <camm@debian.org>  Fri, 09 Mar 2018 17:10:51 +0000
++
++gcl (2.6.12-68) unstable; urgency=medium
++
++  * Version_2_6_13pre57
++
++ -- Camm Maguire <camm@debian.org>  Sun, 04 Mar 2018 13:21:00 +0000
++
++gcl (2.6.12-67) unstable; urgency=medium
++
++  * Version_2_6_13pre55
++
++ -- Camm Maguire <camm@debian.org>  Sat, 03 Mar 2018 14:27:51 +0000
++
++gcl (2.6.12-66) unstable; urgency=medium
++
++  * Version_2_6_13pre54
++
++ -- Camm Maguire <camm@debian.org>  Fri, 02 Mar 2018 21:19:03 +0000
++
++gcl (2.6.12-65) unstable; urgency=medium
++
++  * Version_2_6_13pre52
++  * Bug fix: "FTBFS on hurd-i386", thanks to svante.signell@gmail.com</a>;
++    (Closes: #802593).
++
++ -- Camm Maguire <camm@debian.org>  Fri, 23 Feb 2018 15:55:23 +0000
++
++gcl (2.6.12-64) unstable; urgency=medium
++
++  * list_order.24
++
++ -- Camm Maguire <camm@debian.org>  Sun, 04 Feb 2018 13:26:27 +0000
++
++gcl (2.6.12-63) unstable; urgency=medium
++
++  * list_order.23
++
++ -- Camm Maguire <camm@debian.org>  Thu, 01 Feb 2018 18:36:29 +0000
++
++gcl (2.6.12-62) unstable; urgency=medium
++
++  * list_order.22
++
++ -- Camm Maguire <camm@debian.org>  Thu, 01 Feb 2018 01:05:10 +0000
++
++gcl (2.6.12-61) unstable; urgency=medium
++
++  * list_order.21
++
++ -- Camm Maguire <camm@debian.org>  Tue, 30 Jan 2018 21:13:13 +0000
++
++gcl (2.6.12-60) unstable; urgency=medium
++
++  * list_order.19
++
++ -- Camm Maguire <camm@debian.org>  Tue, 23 Jan 2018 18:11:59 +0000
++
++gcl (2.6.12-59) unstable; urgency=medium
++
++  * list_order.16
++
++ -- Camm Maguire <camm@debian.org>  Fri, 12 Jan 2018 03:25:08 +0000
++
++gcl (2.6.12-58) unstable; urgency=medium
++
++  * list_order.14
++
++ -- Camm Maguire <camm@debian.org>  Mon, 18 Sep 2017 15:45:10 +0000
++
++gcl (2.6.12-57) unstable; urgency=medium
++
++  * list_order.13
++
++ -- Camm Maguire <camm@debian.org>  Fri, 25 Aug 2017 13:44:10 +0000
++
++gcl (2.6.12-56) unstable; urgency=medium
++
++  * list_order.12
++
++ -- Camm Maguire <camm@debian.org>  Thu, 24 Aug 2017 19:12:50 +0000
++
++gcl (2.6.12-55) unstable; urgency=medium
++
++  * disable gprof on aarch64
++  * Bug fix: "gcl FTBFS on arm64: Unrecoverable error: Segmentation
++    violation..", thanks to Adrian Bunk (Closes: #873052).
++
++ -- Camm Maguire <camm@debian.org>  Thu, 24 Aug 2017 16:37:07 +0000
++
++gcl (2.6.12-54) unstable; urgency=medium
++
++  * list_order.11
++
++ -- Camm Maguire <camm@debian.org>  Wed, 23 Aug 2017 22:19:14 +0000
++
++gcl (2.6.12-53) unstable; urgency=medium
++
++  * list_order.9
++
++ -- Camm Maguire <camm@debian.org>  Sun, 18 Jun 2017 18:32:30 +0000
++
++gcl (2.6.12-52) unstable; urgency=medium
++
++  * list_order.8
++
++ -- Camm Maguire <camm@debian.org>  Thu, 15 Jun 2017 18:04:41 +0000
++
++gcl (2.6.12-51) unstable; urgency=medium
++
++  * list_order.7
++
++ -- Camm Maguire <camm@debian.org>  Wed, 14 Jun 2017 18:30:46 +0000
++
++gcl (2.6.12-50) unstable; urgency=medium
++
++  * list_order.6
++
++ -- Camm Maguire <camm@debian.org>  Tue, 13 Jun 2017 22:38:52 +0000
++
++gcl (2.6.12-49) unstable; urgency=medium
++
++  * list_order.5
++
++ -- Camm Maguire <camm@debian.org>  Thu, 08 Jun 2017 17:21:01 +0000
++
++gcl (2.6.12-48) unstable; urgency=medium
++
++  * list_order.1
++
++ -- Camm Maguire <camm@debian.org>  Sun, 28 May 2017 01:42:29 +0000
++
++gcl (2.6.12-47) unstable; urgency=high
++
++  * pathnames1.13
++
++ -- Camm Maguire <camm@debian.org>  Tue, 22 Nov 2016 04:53:35 +0000
++
++gcl (2.6.12-46) unstable; urgency=high
++
++  * pathnames1.12
++  * Bug fix: "maintainer script(s) do not start on #!", thanks to
++    treinen@debian.org</a>; (Closes: #843303).
++
++ -- Camm Maguire <camm@debian.org>  Fri, 18 Nov 2016 18:27:53 +0000
++
++gcl (2.6.12-45) unstable; urgency=high
++
++  * pathnames1.11
++
++ -- Camm Maguire <camm@debian.org>  Mon, 31 Oct 2016 22:57:27 +0000
++
++gcl (2.6.12-44) unstable; urgency=high
++
++  * pathnames1.9
++
++ -- Camm Maguire <camm@debian.org>  Fri, 28 Oct 2016 17:04:38 +0000
++
++gcl (2.6.12-43) unstable; urgency=medium
++
++  * pathnames1.7
++
++ -- Camm Maguire <camm@debian.org>  Thu, 27 Oct 2016 03:46:32 +0000
++
++gcl (2.6.12-42) unstable; urgency=medium
++
++  * pathnames1.6
++  * Bug fix: "FTBFS with bindnow and PIE enabled", thanks to Balint Reczey
++    (Closes: #837481).
++  * Bug fix: "FTBFS with compilers that default to -fPIE (patch
++    attached)", thanks to Adam Conrad (Closes: #822820).
++
++ -- Camm Maguire <camm@debian.org>  Wed, 26 Oct 2016 23:04:57 +0000
++
++gcl (2.6.12-41) unstable; urgency=medium
++
++  * pathnames1.4, kfreebsd fix
++
++ -- Camm Maguire <camm@debian.org>  Fri, 14 Oct 2016 01:17:18 +0000
++
++gcl (2.6.12-40) unstable; urgency=medium
++
++  * pathnames1.2
++  * Bug fix: "popen arguments not quoted causes trouble and security
++    issues", thanks to axel (Closes: #802203).
++
++ -- Camm Maguire <camm@debian.org>  Wed, 12 Oct 2016 18:09:26 +0000
++
++gcl (2.6.12-39) unstable; urgency=medium
++
++  * pathnames1.1
++  * ansi-test clean target
++
++ -- Camm Maguire <camm@debian.org>  Wed, 12 Oct 2016 01:32:05 +0000
++
++gcl (2.6.12-38) unstable; urgency=medium
++
++  * Version_2_6_13pre50
++
++ -- Camm Maguire <camm@debian.org>  Tue, 04 Oct 2016 19:45:38 +0000
++
++gcl (2.6.12-37) unstable; urgency=medium
++
++  * Version_2_6_13pre49
++
++ -- Camm Maguire <camm@debian.org>  Mon, 03 Oct 2016 14:54:09 +0000
++
++gcl (2.6.12-36) unstable; urgency=medium
++
++  * Version_2_6_13pre48
++
++ -- Camm Maguire <camm@debian.org>  Sat, 01 Oct 2016 12:10:25 +0000
++
++gcl (2.6.12-35) unstable; urgency=medium
++
++  * Version_2_6_13pre47
++
++ -- Camm Maguire <camm@debian.org>  Fri, 30 Sep 2016 21:21:43 +0000
++
++gcl (2.6.12-34) unstable; urgency=medium
++
++  * Version_2_6_13pre45
++
++ -- Camm Maguire <camm@debian.org>  Fri, 23 Sep 2016 19:42:37 +0000
++
++gcl (2.6.12-33) unstable; urgency=medium
++
++  * Version_2_6_13pre43
++
++ -- Camm Maguire <camm@debian.org>  Tue, 03 May 2016 16:17:03 +0000
++
++gcl (2.6.12-32) unstable; urgency=medium
++
++  * Version_2_6_13pre40
++  * Bug fix: "[INTL:pt_BR] Brazilian Portuguese debconf templates
++    translation", thanks to Adriano Rafael Gomes (Closes: #811523).
++
++ -- Camm Maguire <camm@debian.org>  Wed, 20 Apr 2016 15:18:35 +0000
++
++gcl (2.6.12-31) unstable; urgency=medium
++
++  * Version_2_6_13pre39
++
++ -- Camm Maguire <camm@debian.org>  Mon, 11 Apr 2016 00:41:11 +0000
++
++gcl (2.6.12-30) unstable; urgency=medium
++
++  * Version_2_6_13pre38
++
++ -- Camm Maguire <camm@debian.org>  Wed, 06 Apr 2016 00:20:15 +0000
++
++gcl (2.6.12-29) unstable; urgency=medium
++
++  * Version_2_6_13pre35; support latest binutils
++  * Bug fix: "gcl ftbfs on amd64 and i386 with binutils from
++    experimental", thanks to Matthias Klose (Closes: #803214).
++
++ -- Camm Maguire <camm@debian.org>  Thu, 29 Oct 2015 15:20:27 +0000
++
++gcl (2.6.12-28) unstable; urgency=medium
++
++  * Version_2_6_13pre35; restore hppa build
++
++ -- Camm Maguire <camm@debian.org>  Tue, 27 Oct 2015 20:00:46 +0000
++
++gcl (2.6.12-27) unstable; urgency=medium
++
++  * Version_2_6_13pre34; mips64 relocs; stack saving tail-recursive equal.
++
++ -- Camm Maguire <camm@debian.org>  Tue, 27 Oct 2015 16:35:06 +0000
++
++gcl (2.6.12-26) unstable; urgency=medium
++
++  * Version_2_6_13pre32
++
++ -- Camm Maguire <camm@debian.org>  Fri, 23 Oct 2015 00:03:34 +0000
++
++gcl (2.6.12-25) unstable; urgency=medium
++
++  * Version_2_6_13pre31, kfreebsd and mips64 FTBFS fix
++
++ -- Camm Maguire <camm@debian.org>  Fri, 16 Oct 2015 15:03:03 +0000
++
++gcl (2.6.12-24) unstable; urgency=medium
++
++  * Version_2_6_13pre30
++
++ -- Camm Maguire <camm@debian.org>  Fri, 16 Oct 2015 02:44:23 +0000
++
++gcl (2.6.12-23) unstable; urgency=medium
++
++  * Version_2_6_13pre29
++
++ -- Camm Maguire <camm@debian.org>  Thu, 15 Oct 2015 18:09:59 +0000
++
++gcl (2.6.12-22) unstable; urgency=medium
++
++  * Version_2_6_13pre27
++
++ -- Camm Maguire <camm@debian.org>  Tue, 13 Oct 2015 14:38:53 +0000
++
++gcl (2.6.12-21) unstable; urgency=medium
++
++  * Version_2_6_13pre26
++
++ -- Camm Maguire <camm@debian.org>  Wed, 07 Oct 2015 15:14:27 +0000
++
++gcl (2.6.12-20) unstable; urgency=medium
++
++  * Version_2_6_13pre25
++
++ -- Camm Maguire <camm@debian.org>  Thu, 01 Oct 2015 15:16:14 +0000
++
++gcl (2.6.12-19) unstable; urgency=medium
++
++  * Use-dpkg-buidflags-opt-levels-in-debian-rules, -O3 has bug in 5.2.1
++  * Version_2_6_13pre24
++
++ -- Camm Maguire <camm@debian.org>  Wed, 30 Sep 2015 15:45:20 +0000
++
++gcl (2.6.12-18) unstable; urgency=medium
++
++  * Version_2_6_13pre22
++
++ -- Camm Maguire <camm@debian.org>  Tue, 29 Sep 2015 16:51:03 +0000
++
++gcl (2.6.12-17) unstable; urgency=medium
++
++  * Version_2_6_13pre20
++
++ -- Camm Maguire <camm@debian.org>  Sat, 26 Sep 2015 10:34:23 -0400
++
++gcl (2.6.12-16) unstable; urgency=medium
++
++  * Version_2_6_13pre19
++
++ -- Camm Maguire <camm@debian.org>  Fri, 25 Sep 2015 18:39:52 -0400
++
++gcl (2.6.12-15) unstable; urgency=medium
++
++  * Version_2_6_13pre18
++
++ -- Camm Maguire <camm@debian.org>  Fri, 25 Sep 2015 15:08:50 +0000
++
++gcl (2.6.12-14) unstable; urgency=medium
++
++  * Version_2_6_13pre17
++
++ -- Camm Maguire <camm@debian.org>  Thu, 28 May 2015 03:37:47 +0000
++
++gcl (2.6.12-13) unstable; urgency=medium
++
++  * Version_2_6_13pre16
++
++ -- Camm Maguire <camm@debian.org>  Fri, 15 May 2015 18:09:38 +0000
++
++gcl (2.6.12-12) unstable; urgency=medium
++
++  * Version_2_6_13pre13
++
++ -- Camm Maguire <camm@debian.org>  Fri, 01 May 2015 11:08:46 -0400
++
++gcl (2.6.12-11) unstable; urgency=medium
++
++  * Version_2_6_13pre12
++
++ -- Camm Maguire <camm@debian.org>  Thu, 30 Apr 2015 12:49:16 -0400
++
++gcl (2.6.12-10) unstable; urgency=medium
++
++  * rebuild in clean sid environment
++
++ -- Camm Maguire <camm@debian.org>  Mon, 27 Apr 2015 15:34:15 -0400
++
++gcl (2.6.12-9) unstable; urgency=medium
++
++  * Version_2_6_13pre8b
++  * Bug fix: "ftbfs with GCC-5", thanks to Matthias Klose (Closes:
++    #777866).
++
++ -- Camm Maguire <camm@debian.org>  Mon, 27 Apr 2015 12:32:49 -0400
++
++gcl (2.6.12-8) unstable; urgency=medium
++
++  * Version_2_6_13pre7
++
++ -- Camm Maguire <camm@debian.org>  Fri, 24 Apr 2015 13:38:30 -0400
++
++gcl (2.6.12-7) unstable; urgency=medium
++
++  * Version_2_6_13pre6
++
++ -- Camm Maguire <camm@debian.org>  Thu, 23 Apr 2015 13:43:45 -0400
++
++gcl (2.6.12-6) unstable; urgency=medium
++
++  * Version_2_6_13pre5
++
++ -- Camm Maguire <camm@debian.org>  Wed, 22 Apr 2015 17:14:16 -0400
++
++gcl (2.6.12-5) unstable; urgency=medium
++
++  * Version_2_6_13pre4
++
++ -- Camm Maguire <camm@debian.org>  Wed, 22 Apr 2015 10:25:36 -0400
++
++gcl (2.6.12-4) unstable; urgency=medium
++
++  * Version_2_6_13pre3a
++
++ -- Camm Maguire <camm@debian.org>  Mon, 20 Apr 2015 13:26:36 -0400
++
++gcl (2.6.12-3) unstable; urgency=medium
++
++  * Version_2_6_13pre2
++
++ -- Camm Maguire <camm@debian.org>  Fri, 17 Apr 2015 15:50:37 -0400
++
++gcl (2.6.12-2) unstable; urgency=medium
++
++  * Version_2_6_13pre1
++
++ -- Camm Maguire <camm@debian.org>  Wed, 26 Nov 2014 11:12:46 -0500
++
++gcl (2.6.12-1) unstable; urgency=medium
++
++  * New upstream release
++
++ -- Camm Maguire <camm@debian.org>  Tue, 28 Oct 2014 09:56:15 -0400
++
++gcl (2.6.11-6) unstable; urgency=medium
++
++  * 2.6.12pre5
++
++ -- Camm Maguire <camm@debian.org>  Thu, 23 Oct 2014 17:33:22 -0400
++
++gcl (2.6.11-5) unstable; urgency=medium
++
++  * 2.6.12pre4
++
++ -- Camm Maguire <camm@debian.org>  Sat, 18 Oct 2014 09:46:34 -0400
++
++gcl (2.6.11-4) unstable; urgency=medium
++
++  * 2.6.12pre3
++
++ -- Camm Maguire <camm@debian.org>  Thu, 16 Oct 2014 11:56:15 -0400
++
++gcl (2.6.11-3) unstable; urgency=medium
++
++  * 2.6.12pre2
++
++ -- Camm Maguire <camm@debian.org>  Sun, 28 Sep 2014 20:56:18 -0400
++
++gcl (2.6.11-2) unstable; urgency=medium
++
++  * 2.6.12pre1
++
++ -- Camm Maguire <camm@debian.org>  Fri, 19 Sep 2014 14:49:25 -0400
++
++gcl (2.6.11-1) unstable; urgency=medium
++
++  * New upstream release
++
++ -- Camm Maguire <camm@debian.org>  Sat, 06 Sep 2014 12:28:46 -0400
++
++gcl (2.6.10-54) unstable; urgency=medium
++
++  * remove-debug-message-from-BUGGY_MAXIMUM_SSCANF_LENGTH-code
++
++ -- Camm Maguire <camm@debian.org>  Fri, 05 Sep 2014 10:35:46 -0400
++
++gcl (2.6.10-53) unstable; urgency=medium
++
++  * ppc64le-support-headers
++
++ -- Camm Maguire <camm@debian.org>  Wed, 03 Sep 2014 15:02:12 -0400
++
++gcl (2.6.10-52) unstable; urgency=medium
++
++  * accept-TMP-paths-with-types-versions
++
++ -- Camm Maguire <camm@debian.org>  Fri, 29 Aug 2014 17:51:04 -0400
++
++gcl (2.6.10-51) unstable; urgency=medium
++
++  * fix-match-function-proclaim-skew
++
++ -- Camm Maguire <camm@debian.org>  Fri, 29 Aug 2014 16:40:30 +0000
++
++gcl (2.6.10-50) unstable; urgency=medium
++
++  * trial_selinux_support
++
++ -- Camm Maguire <camm@debian.org>  Thu, 21 Aug 2014 17:29:50 +0000
++
++gcl (2.6.10-49) unstable; urgency=medium
++
++  * R_ARM_JUMP24
++
++ -- Camm Maguire <camm@debian.org>  Wed, 20 Aug 2014 17:08:23 +0000
++
++gcl (2.6.10-48) unstable; urgency=medium
++
++  * try-SGC-for-aarch64
++
++ -- Camm Maguire <camm@debian.org>  Tue, 19 Aug 2014 18:35:22 +0000
++
++gcl (2.6.10-47) unstable; urgency=medium
++
++  * set-stack_guard-after-alloc-setup
++  * Bug fix: "work around build failure on AArch64", thanks to Matthias
++    Klose (Closes: #758101).
++
++ -- Camm Maguire <camm@debian.org>  Thu, 14 Aug 2014 19:36:48 +0000
++
++gcl (2.6.10-46) unstable; urgency=medium
++
++  * R_AARCH64_LDST128_ABS_LO12_NC
++
++ -- Camm Maguire <camm@debian.org>  Wed, 13 Aug 2014 21:39:50 +0000
++
++gcl (2.6.10-45) unstable; urgency=medium
++
++  * fix sh4 CLEAR_CACHE
++
++ -- Camm Maguire <camm@debian.org>  Sun, 10 Aug 2014 20:12:03 +0000
++
++gcl (2.6.10-44) unstable; urgency=medium
++
++  * clear_protect_memory on all elf machines
++
++ -- Camm Maguire <camm@debian.org>  Sat, 09 Aug 2014 00:55:17 +0000
++
++gcl (2.6.10-43) unstable; urgency=medium
++
++  * mips uses builtin_clear_cache like mipsel
++
++ -- Camm Maguire <camm@debian.org>  Fri, 08 Aug 2014 23:42:42 +0000
++
++gcl (2.6.10-42) unstable; urgency=medium
++
++  * backport travel_push_new from master
++
++ -- Camm Maguire <camm@debian.org>  Wed, 06 Aug 2014 20:14:14 +0000
++
++gcl (2.6.10-41) unstable; urgency=medium
++
++  * protos and CFLAGS for axiom extensions
++
++ -- Camm Maguire <camm@debian.org>  Wed, 06 Aug 2014 01:54:38 +0000
++
++gcl (2.6.10-40) unstable; urgency=medium
++
++  * better solaris unexec fix
++
++ -- Camm Maguire <camm@debian.org>  Mon, 04 Aug 2014 22:00:54 +0000
++
++gcl (2.6.10-39) unstable; urgency=medium
++
++  * earlier prelink_init, phys_pages w/o malloc
++
++ -- Camm Maguire <camm@debian.org>  Mon, 04 Aug 2014 16:52:09 +0000
++
++gcl (2.6.10-38) unstable; urgency=medium
++
++  * error on overflow of array dimensions
++
++ -- Camm Maguire <camm@debian.org>  Fri, 01 Aug 2014 14:35:44 +0000
++
++gcl (2.6.10-37) unstable; urgency=medium
++
++  * FILE * casts for windows feof wrapper
++
++ -- Camm Maguire <camm@debian.org>  Thu, 31 Jul 2014 02:17:11 +0000
++
++gcl (2.6.10-36) unstable; urgency=medium
++
++  * better casts for frs_jmpbuf
++
++ -- Camm Maguire <camm@debian.org>  Wed, 30 Jul 2014 17:00:06 +0000
++
++gcl (2.6.10-35) unstable; urgency=medium
++
++  * find_sym_ptable typo fix
++
++ -- Camm Maguire <camm@debian.org>  Tue, 29 Jul 2014 18:08:57 +0000
++
++gcl (2.6.10-34) unstable; urgency=medium
++
++  * --enable-prelink configure arg; stack_chk_guard for 68k
++
++ -- Camm Maguire <camm@debian.org>  Fri, 25 Jul 2014 20:39:10 +0000
++
++gcl (2.6.10-33) unstable; urgency=medium
++
++  * hurd stack_guard, ppc64 C_GC_OFFSET
++
++ -- Camm Maguire <camm@debian.org>  Thu, 24 Jul 2014 21:46:24 +0000
++
++gcl (2.6.10-32) unstable; urgency=medium
++
++  * __stack_chk_guard fix for arm/sh4
++
++ -- Camm Maguire <camm@debian.org>  Wed, 23 Jul 2014 18:12:56 +0000
++
++gcl (2.6.10-31) unstable; urgency=medium
++
++  * dpkg-buildflags trial
++
++ -- Camm Maguire <camm@debian.org>  Tue, 22 Jul 2014 20:06:10 +0000
++
++gcl (2.6.10-30) unstable; urgency=medium
++
++  * fix offsets ppc
++
++ -- Camm Maguire <camm@debian.org>  Tue, 22 Jul 2014 17:12:27 +0000
++
++gcl (2.6.10-29) unstable; urgency=medium
++
++  * fix unexec file offsets
++
++ -- Camm Maguire <camm@debian.org>  Tue, 22 Jul 2014 15:36:45 +0000
++
++gcl (2.6.10-28) unstable; urgency=high
++
++  * enable prelink
++
++ -- Camm Maguire <camm@debian.org>  Fri, 18 Jul 2014 19:24:38 +0000
++
++gcl (2.6.10-27) unstable; urgency=high
++
++  * protect closure calls from gc
++
++ -- Camm Maguire <camm@debian.org>  Wed, 16 Jul 2014 16:15:33 +0000
++
++gcl (2.6.10-26) unstable; urgency=high
++
++  * Bug fix: "packages should not build-depend on binutils-dev", thanks to
++    Matthias Klose (Closes: #754840).  Please note that gcl has long
++    depended on binutils-dev for good reason -- happily it is no longer
++    necessary
++
++ -- Camm Maguire <camm@debian.org>  Tue, 15 Jul 2014 16:04:04 +0000
++
++gcl (2.6.10-25) unstable; urgency=high
++
++  * rebuild to get gcc fixes on i386
++
++ -- Camm Maguire <camm@debian.org>  Fri, 11 Jul 2014 03:14:45 +0000
++
++gcl (2.6.10-24) unstable; urgency=high
++
++  * try default gcc 4.9
++  * access libopcodes without link dependency via dlopen
++  * Bug fix: "please switch to emacs24", thanks to Gabriele Giacone
++    (Closes: #754012).
++
++ -- Camm Maguire <camm@debian.org>  Wed, 09 Jul 2014 17:34:21 +0000
++
++gcl (2.6.10-23) unstable; urgency=high
++
++  * rebuild latest binutils
++
++ -- Camm Maguire <camm@debian.org>  Sat, 05 Jul 2014 23:19:27 +0000
++
++gcl (2.6.10-22) unstable; urgency=high
++
++  * gcc-4.8 on i386, 4.9 has bugs at present
++
++ -- Camm Maguire <camm@debian.org>  Fri, 04 Jul 2014 01:36:06 +0000
++
++gcl (2.6.10-21) unstable; urgency=high
++
++  * 2.6.11pre test 20
++
++ -- Camm Maguire <camm@debian.org>  Mon, 30 Jun 2014 22:43:27 +0000
++
++gcl (2.6.10-20) unstable; urgency=high
++
++  * 2.6.11pre test 19
++
++ -- Camm Maguire <camm@debian.org>  Sun, 29 Jun 2014 17:59:59 +0000
++
++gcl (2.6.10-19) unstable; urgency=high
++
++  * 2.6.11pre test 18
++
++ -- Camm Maguire <camm@debian.org>  Sun, 29 Jun 2014 16:00:07 +0000
++
++gcl (2.6.10-18) unstable; urgency=high
++
++  * 2.6.11pre test 17
++
++ -- Camm Maguire <camm@debian.org>  Sat, 28 Jun 2014 16:57:54 +0000
++
++gcl (2.6.10-17) unstable; urgency=high
++
++  * 2.6.11pre test 16
++
++ -- Camm Maguire <camm@debian.org>  Thu, 26 Jun 2014 18:06:42 +0000
++
++gcl (2.6.10-16) unstable; urgency=high
++
++  * 2.6.11pre test 15
++
++ -- Camm Maguire <camm@debian.org>  Wed, 18 Jun 2014 17:37:36 +0000
++
++gcl (2.6.10-15) unstable; urgency=high
++
++  * 2.6.11pre test 14
++
++ -- Camm Maguire <camm@debian.org>  Tue, 17 Jun 2014 00:39:35 +0000
++
++gcl (2.6.10-14) unstable; urgency=high
++
++  * 2.6.11pre test 13
++
++ -- Camm Maguire <camm@debian.org>  Sat, 14 Jun 2014 13:43:57 +0000
++
++gcl (2.6.10-13) unstable; urgency=high
++
++  * 2.6.11pre test 12
++
++ -- Camm Maguire <camm@debian.org>  Tue, 20 May 2014 16:00:22 +0000
++
++gcl (2.6.10-12) unstable; urgency=high
++
++  * 2.6.11pre test 11
++
++ -- Camm Maguire <camm@debian.org>  Fri, 16 May 2014 17:41:33 +0000
++
++gcl (2.6.10-11) unstable; urgency=high
++
++  * 2.6.11pre test 10
++
++ -- Camm Maguire <camm@debian.org>  Fri, 16 May 2014 13:18:07 +0000
++
++gcl (2.6.10-10) unstable; urgency=high
++
++  * 2.6.11pre test 9
++
++ -- Camm Maguire <camm@debian.org>  Wed, 07 May 2014 17:10:30 +0000
++
++gcl (2.6.10-9) unstable; urgency=high
++
++  * 2.6.11pre test 8
++
++ -- Camm Maguire <camm@debian.org>  Fri, 25 Apr 2014 19:53:10 +0000
++
++gcl (2.6.10-8) unstable; urgency=high
++
++  * 2.6.11pre test 7
++
++ -- Camm Maguire <camm@debian.org>  Mon, 21 Apr 2014 14:09:37 +0000
++
++gcl (2.6.10-7) unstable; urgency=high
++
++  * 2.6.11pre test 6
++
++ -- Camm Maguire <camm@debian.org>  Sat, 19 Apr 2014 17:52:17 +0000
++
++gcl (2.6.10-6) unstable; urgency=high
++
++  * 2.6.11pre test 5
++
++ -- Camm Maguire <camm@debian.org>  Fri, 18 Apr 2014 15:06:09 +0000
++
++gcl (2.6.10-5) unstable; urgency=high
++
++  * 2.6.11pre test 4
++
++ -- Camm Maguire <camm@debian.org>  Tue, 15 Apr 2014 20:30:13 +0000
++
++gcl (2.6.10-4) unstable; urgency=high
++
++  * 2.6.11pre test 3
++  * Bug fix: "debian/rules uses DEB_BUILD_* macros instead of DEB_HOST_*
++    macros", thanks to Matthias Klose (Closes: #743520).
++
++ -- Camm Maguire <camm@debian.org>  Wed, 09 Apr 2014 13:15:32 +0000
++
++gcl (2.6.10-3) unstable; urgency=high
++
++  * 2.6.11pre test 2
++
++ -- Camm Maguire <camm@debian.org>  Thu, 03 Apr 2014 14:24:23 +0000
++
++gcl (2.6.10-2) unstable; urgency=high
++
++  * 2.6.11pre test 1
++  * Bug fix: "FTBFS: gcl_readline.d:472:39: error: &#39;CPPFunction&#39;
++    undeclared (first use in this function)", thanks to David Suárez
++    (Closes: #741819).
++
++ -- Camm Maguire <camm@debian.org>  Mon, 24 Mar 2014 15:47:01 +0000
++
++gcl (2.6.10-1) unstable; urgency=high
++
++  * New upstream release
++
++ -- Camm Maguire <camm@debian.org>  Wed, 13 Nov 2013 18:39:19 +0000
++
++gcl (2.6.9-17) unstable; urgency=high
++
++  * 2.6.10pre test 17
++
++ -- Camm Maguire <camm@debian.org>  Mon, 11 Nov 2013 19:41:45 +0000
++
++gcl (2.6.9-16) unstable; urgency=high
++
++  * 2.6.10pre test 16
++  * Bug fix: "gcl 2.6.7+dfsga-20 needs 1 GB disk space on amd64", thanks
++    to Edi Meier (Closes: #714507).
++  * Bug fix: "[INTL:ja] New Japanese translation", thanks to victory
++    (Closes: #718925).
++
++ -- Camm Maguire <camm@debian.org>  Sat, 09 Nov 2013 13:34:32 +0000
++
++gcl (2.6.9-15) unstable; urgency=high
++
++  * 2.6.10pre test 15
++
++ -- Camm Maguire <camm@debian.org>  Sat, 02 Nov 2013 22:21:16 +0000
++
++gcl (2.6.9-14) unstable; urgency=high
++
++  * 2.6.10pre test 14
++
++ -- Camm Maguire <camm@debian.org>  Wed, 23 Oct 2013 17:44:14 +0000
++
++gcl (2.6.9-13) unstable; urgency=high
++
++  * environment allocation unrandomize.h
++
++ -- Camm Maguire <camm@debian.org>  Mon, 21 Oct 2013 00:20:16 +0000
++
++gcl (2.6.9-12) unstable; urgency=high
++
++  * 2.6.10pre test 13
++
++ -- Camm Maguire <camm@debian.org>  Fri, 18 Oct 2013 14:18:17 +0000
++
++gcl (2.6.9-11) unstable; urgency=high
++
++  * 2.6.10pre test 12, s390, mingw cleanup, make_bignum bug fix
++
++ -- Camm Maguire <camm@debian.org>  Tue, 15 Oct 2013 23:32:09 +0000
++
++gcl (2.6.9-10) unstable; urgency=high
++
++  * fast-fixnums
++
++ -- Camm Maguire <camm@debian.org>  Fri, 11 Oct 2013 15:05:58 +0000
++
++gcl (2.6.9-9) unstable; urgency=high
++
++  * 2.6.10pre test 10 and 11
++
++ -- Camm Maguire <camm@debian.org>  Wed, 02 Oct 2013 19:12:36 +0000
++
++gcl (2.6.9-8) unstable; urgency=high
++
++  * 2.6.10pre test 8 and 9
++
++ -- Camm Maguire <camm@debian.org>  Tue, 01 Oct 2013 21:00:19 +0000
++
++gcl (2.6.9-7) unstable; urgency=high
++
++  * 2.6.10pre test 6 and 7
++
++ -- Camm Maguire <camm@debian.org>  Mon, 30 Sep 2013 19:34:38 +0000
++
++gcl (2.6.9-6) unstable; urgency=high
++
++  * 2.6.10pre test 5
++
++ -- Camm Maguire <camm@debian.org>  Tue, 24 Sep 2013 17:03:24 +0000
++
++gcl (2.6.9-5) unstable; urgency=high
++
++  * 2.6.10pre test 4
++
++ -- Camm Maguire <camm@debian.org>  Mon, 23 Sep 2013 19:27:36 +0000
++
++gcl (2.6.9-4) unstable; urgency=high
++
++  * 2.6.10pre test 3
++
++ -- Camm Maguire <camm@debian.org>  Mon, 23 Sep 2013 16:30:09 +0000
++
++gcl (2.6.9-3) unstable; urgency=high
++
++  * 2.6.10pre test 2
++
++ -- Camm Maguire <camm@debian.org>  Sun, 22 Sep 2013 03:27:10 +0000
++
++gcl (2.6.9-2) unstable; urgency=high
++
++  * 2.6.10pre test
++
++ -- Camm Maguire <camm@debian.org>  Sat, 21 Sep 2013 04:14:55 +0000
++
++gcl (2.6.9-1) unstable; urgency=high
++
++  * New upstream release
++
++ -- Camm Maguire <camm@debian.org>  Wed, 28 Aug 2013 16:49:18 +0000
++
++gcl (2.6.7+dfsga-40) unstable; urgency=high
++
++  * fix allocate functions
++
++ -- Camm Maguire <camm@debian.org>  Tue, 06 Aug 2013 22:36:37 +0000
++
++gcl (2.6.7+dfsga-39) unstable; urgency=high
++
++  * lower initial contiguous and relblock allocations, set *ihs-top*
++    properly on startup, protect memory->cfd.cfd_start initialization from
++    gc
++
++ -- Camm Maguire <camm@debian.org>  Mon, 05 Aug 2013 17:38:22 +0000
++
++gcl (2.6.7+dfsga-38) unstable; urgency=high
++
++  * robustify near oom handling to fix axiom compile of EXPEXPAN on mips
++
++ -- Camm Maguire <camm@debian.org>  Fri, 02 Aug 2013 16:25:16 +0000
++
++gcl (2.6.7+dfsga-37) unstable; urgency=high
++
++  * ppc64 gprof fix
++
++ -- Camm Maguire <camm@debian.org>  Fri, 26 Jul 2013 23:40:14 +0000
++
++gcl (2.6.7+dfsga-36) unstable; urgency=high
++
++  * min_pagewidth=14 on mips
++
++ -- Camm Maguire <camm@debian.org>  Fri, 26 Jul 2013 02:20:56 +0000
++
++gcl (2.6.7+dfsga-35) unstable; urgency=high
++
++  * latest gcc on all platforms, no gprof ppc64, -O1 ia64, -O0 alpha
++
++ -- Camm Maguire <camm@debian.org>  Thu, 25 Jul 2013 14:42:48 +0000
++
++gcl (2.6.7+dfsga-34) unstable; urgency=high
++
++  * sgc link_array mark fix;rb_end across save fix;more stable gcc on older arches
++
++ -- Camm Maguire <camm@debian.org>  Tue, 23 Jul 2013 17:11:23 +0000
++
++gcl (2.6.7+dfsga-33) unstable; urgency=high
++
++  * fix mark_link_array for marked sLAlink_arrayA->s.s_dbind
++
++ -- Camm Maguire <camm@debian.org>  Mon, 22 Jul 2013 19:00:43 +0000
++
++gcl (2.6.7+dfsga-32) unstable; urgency=high
++
++  * protect mark_link_array in sgc
++
++ -- Camm Maguire <camm@debian.org>  Sat, 20 Jul 2013 00:16:07 +0000
++
++gcl (2.6.7+dfsga-31) unstable; urgency=high
++
++  * properly clean link array on gc
++
++ -- Camm Maguire <camm@debian.org>  Fri, 19 Jul 2013 20:34:34 +0000
++
++gcl (2.6.7+dfsga-30) unstable; urgency=high
++
++  * fix gcl.script compiler::link, darwin compile warnings
++
++ -- Camm Maguire <camm@debian.org>  Mon, 15 Jul 2013 20:35:03 +0000
++
++gcl (2.6.7+dfsga-29) unstable; urgency=high
++
++  * fix compiler::link in presence of gcl.script
++
++ -- Camm Maguire <camm@debian.org>  Mon, 15 Jul 2013 16:23:33 +0000
++
++gcl (2.6.7+dfsga-28) unstable; urgency=high
++
++  * install unixport/gcl.script
++
++ -- Camm Maguire <camm@debian.org>  Sat, 13 Jul 2013 18:42:28 +0000
++
++gcl (2.6.7+dfsga-27) unstable; urgency=high
++
++  * workaround for ia64 and hurd brk issues
++
++ -- Camm Maguire <camm@debian.org>  Fri, 12 Jul 2013 21:44:54 +0000
++
++gcl (2.6.7+dfsga-26) unstable; urgency=high
++
++  * -- command line support, map-shared in unexec
++
++ -- Camm Maguire <camm@debian.org>  Fri, 12 Jul 2013 00:52:35 +0000
++
++gcl (2.6.7+dfsga-25) unstable; urgency=high
++
++  * alpha, mips, 68k
++
++ -- Camm Maguire <camm@debian.org>  Wed, 10 Jul 2013 18:29:37 +0000
++
++gcl (2.6.7+dfsga-24) unstable; urgency=high
++
++  * sgc and reloc fixes
++
++ -- Camm Maguire <camm@debian.org>  Mon, 08 Jul 2013 13:56:33 +0000
++
++gcl (2.6.7+dfsga-23) unstable; urgency=high
++
++  * fix for maxima on kfbsd and sparc
++
++ -- Camm Maguire <camm@debian.org>  Wed, 03 Jul 2013 19:19:16 +0000
++
++gcl (2.6.7+dfsga-22) unstable; urgency=high
++
++  * fix stack definition issues on i386
++
++ -- Camm Maguire <camm@debian.org>  Tue, 02 Jul 2013 18:27:54 +0000
++
++gcl (2.6.7+dfsga-21) unstable; urgency=high
++
++  * near out of memory robustification
++
++ -- Camm Maguire <camm@debian.org>  Tue, 02 Jul 2013 15:32:58 +0000
++
++gcl (2.6.7+dfsga-20) unstable; urgency=high
++
++  * fix 3GB workaround for gprof
++
++ -- Camm Maguire <camm@debian.org>  Fri, 21 Jun 2013 11:09:01 -0400
++
++gcl (2.6.7+dfsga-19) unstable; urgency=high
++
++  * work around 3GB personality/alloca/malloc bug
++
++ -- Camm Maguire <camm@debian.org>  Fri, 21 Jun 2013 02:46:49 +0000
++
++gcl (2.6.7+dfsga-18) unstable; urgency=high
++
++  * alpha NULL_OR_ON_C_STACK, attempt to get 32 immfix space with
++    ADDR_LIMIT_3GB|ADDR_COMPAT_LAYOUT personality, clean compile with no
++    immfix
++
++ -- Camm Maguire <camm@debian.org>  Thu, 20 Jun 2013 20:24:29 +0000
++
++gcl (2.6.7+dfsga-17) unstable; urgency=high
++
++  * small optimizations, #= nil fix
++
++ -- Camm Maguire <camm@debian.org>  Wed, 19 Jun 2013 16:23:27 +0000
++
++gcl (2.6.7+dfsga-16) unstable; urgency=high
++
++  * no linker script on hurd;fix OBJ_ALIGN
++
++ -- Camm Maguire <camm@debian.org>  Thu, 13 Jun 2013 15:35:00 +0000
++
++gcl (2.6.7+dfsga-15) unstable; urgency=high
++
++  * ia64 fix
++
++ -- Camm Maguire <camm@debian.org>  Thu, 13 Jun 2013 02:38:47 +0000
++
++gcl (2.6.7+dfsga-14) unstable; urgency=high
++
++  * eliminate maxpage/dbegin, restore windows and macosx builds
++
++ -- Camm Maguire <camm@debian.org>  Wed, 12 Jun 2013 21:42:29 +0000
++
++gcl (2.6.7+dfsga-13) unstable; urgency=low
++
++  * ia64/hurd/s390 and SGC
++
++ -- Camm Maguire <camm@debian.org>  Sun, 09 Jun 2013 00:23:51 +0000
++
++gcl (2.6.7+dfsga-12) unstable; urgency=low
++
++  * ia64/hurd/s390
++
++ -- Camm Maguire <camm@debian.org>  Sat, 08 Jun 2013 15:24:46 +0000
++
++gcl (2.6.7+dfsga-11) unstable; urgency=high
++
++  * 2.6.9 test
++
++ -- Camm Maguire <camm@debian.org>  Fri, 07 Jun 2013 21:46:41 +0000
++
++gcl (2.6.7+dfsga-10) unstable; urgency=high
++
++  * output mips make bug text to stderr
++
++ -- Camm Maguire <camm@debian.org>  Sat, 25 May 2013 12:24:35 +0000
++
++gcl (2.6.7+dfsga-9) unstable; urgency=high
++
++  * mips make bug workaround
++
++ -- Camm Maguire <camm@debian.org>  Wed, 22 May 2013 14:23:43 +0000
++
++gcl (2.6.7+dfsga-8) unstable; urgency=high
++
++  * revert doubled default maxpage
++  * export *read-eval*
++
++ -- Camm Maguire <camm@debian.org>  Tue, 21 May 2013 14:42:05 +0000
++
++gcl (2.6.7+dfsga-7) unstable; urgency=high
++
++  * export ansi symbols
++
++ -- Camm Maguire <camm@debian.org>  Sat, 11 May 2013 21:36:56 +0000
++
++gcl (2.6.7+dfsga-6) unstable; urgency=high
++
++  * fast hash-equal in compiler
++
++ -- Camm Maguire <camm@debian.org>  Sat, 11 May 2013 19:11:42 +0000
++
++gcl (2.6.7+dfsga-5) unstable; urgency=high
++
++  * Bug fix: "FTBFS: cp: cannot stat
++    &#39;debian/tmp/usr/share/info/gcl-si.info&#39;: No such file or
++    directory", thanks to Lucas Nussbaum (Closes: #707490).
++
++ -- Camm Maguire <camm@debian.org>  Fri, 10 May 2013 18:09:14 +0000
++
++gcl (2.6.7+dfsga-4) unstable; urgency=high
++
++  * sgc-on fix with latest gcc
++
++ -- Camm Maguire <camm@debian.org>  Tue, 23 Apr 2013 18:45:11 +0000
++
++gcl (2.6.7+dfsga-3) unstable; urgency=high
++
++  * hash depth bug fix
++  * new s390 reloc
++
++ -- Camm Maguire <camm@debian.org>  Thu, 24 Jan 2013 19:46:30 +0000
++
++gcl (2.6.7+dfsga-2) unstable; urgency=high
++  
++  * more arm relocs supported;check default timezone dynamically;follow
++    bash ~ semantics in user-homedir-pathname
++
++ -- Camm Maguire <camm@debian.org>  Mon, 21 Jan 2013 18:41:06 +0000
++
++gcl (2.6.7+dfsga-1) unstable; urgency=high
++
++  * Acknowledge Non-maintainer upload. 
++  (thanks David Prévot <taffit@debian.org>) 
++  * Remove unused and non DFSG-compliant gmp3/gmp.* from source. 
++  (Closes: #695721)
++  * Show translated debconf templates, thanks to Denis Barbier for the
++    analysis and the proposed fixes. (Closes: #691946)
++  * trim excess digits from printed floats
++
++ -- Camm Maguire <camm@debian.org>  Tue, 15 Jan 2013 20:46:25 +0000
++
++gcl (2.6.7-108) unstable; urgency=high
++
++  * Depend on emacs23 | emacsen to allow wheezy propagation
++
++ -- Camm Maguire <camm@debian.org>  Mon, 08 Oct 2012 18:08:36 +0000
++
++gcl (2.6.7-107) unstable; urgency=high
++
++  * mode 644 on ucf newfile
++
++ -- Camm Maguire <camm@debian.org>  Wed, 03 Oct 2012 20:38:43 +0000
++
++gcl (2.6.7-106) unstable; urgency=high
++
++  * Bug fix: "modifies conffiles (policy 10.7.3): /etc/default/gcl",
++    thanks to Andreas Beckmann (Closes: #688201).
++
++ -- Camm Maguire <camm@debian.org>  Wed, 03 Oct 2012 16:52:10 +0000
++
++gcl (2.6.7-105) unstable; urgency=high
++
++  * restore #DEBHELPER# to postinst and postrm scripts
++
++ -- Camm Maguire <camm@debian.org>  Mon, 01 Oct 2012 17:31:43 +0000
++
++gcl (2.6.7-104) unstable; urgency=high
++
++  * Bug fix: "modifies conffiles (policy 10.7.3): /etc/default/gcl",
++    thanks to Andreas Beckmann (Closes: #688201).
++
++ -- Camm Maguire <camm@debian.org>  Mon, 01 Oct 2012 15:32:52 +0000
++
++gcl (2.6.7-103) unstable; urgency=high
++
++  * sfaslelf.c: FIX_HIDDEN_SYMBOLS
++
++ -- Camm Maguire <camm@debian.org>  Wed, 22 Aug 2012 15:13:12 +0000
++
++gcl (2.6.7-102) unstable; urgency=high
++
++  * Fix hash key distribution bug, bitvector equal bug
++  * distinguish car position in equal-hash of lists
++
++ -- Camm Maguire <camm@debian.org>  Mon, 20 Aug 2012 17:33:26 +0000
++
++gcl (2.6.7-101) unstable; urgency=high
++
++  * add alpha, ppc, ppc64, and ia64 to __builtin__clear_cache exception
++    list as per gcc maintainers
++  * lintian cleanups
++
++ -- Camm Maguire <camm@debian.org>  Sat, 05 May 2012 23:18:56 +0000
++
++gcl (2.6.7-100) unstable; urgency=high
++
++  * nil case keylist support
++  * Bug fix: "[INTL:da] Danish translation of the debconf templates gcl",
++    thanks to Joe Dalton (Closes: #666528).
++
++ -- Camm Maguire <camm@debian.org>  Fri, 20 Apr 2012 02:25:26 +0000
++
++gcl (2.6.7-99) unstable; urgency=low
++
++  * case default error checking
++
++ -- Camm Maguire <camm@debian.org>  Fri, 23 Mar 2012 14:14:44 +0000
++
++gcl (2.6.7-98) unstable; urgency=low
++
++  * restore traditional make-sequence,make-array, and coerce, and
++    optimize replace, as 2.6.8 compiler is still too weak re: inlines
++
++ -- Camm Maguire <camm@debian.org>  Fri, 20 Jan 2012 19:55:45 +0000
++
++gcl (2.6.7-97) unstable; urgency=low
++
++  * evade __builtin___clear_cache on hppa
++  * make-array;make-sequence;replace;coerce
++
++ -- Camm Maguire <camm@debian.org>  Fri, 20 Jan 2012 05:13:22 +0000
++
++gcl (2.6.7-96) unstable; urgency=low
++
++  * better XDR detection; no __builtin_clear_cache on sh4
++
++ -- Camm Maguire <camm@debian.org>  Wed, 18 Jan 2012 01:32:43 +0000
++
++gcl (2.6.7-95) unstable; urgency=low
++
++  * clear_cache after mprotect
++
++ -- Camm Maguire <camm@debian.org>  Tue, 17 Jan 2012 03:54:56 +0000
++
++gcl (2.6.7-94) unstable; urgency=low
++
++  * optimize unwind at O0 to workaround gcc bug; centralize on
++    __builtin__clear_cache when available;arm_thm_call reloc support
++
++ -- Camm Maguire <camm@debian.org>  Mon, 16 Jan 2012 20:10:07 +0000
++
++gcl (2.6.7-93) unstable; urgency=low
++
++  * remove C_GC_OFFSET for sparc64
++  * remove ncurses dependency for readline
++  * Bug fix: "FTBFS: dpkg-buildpackage: error: dpkg-source -b gcl-2.6.7
++    gave error exit status 2", thanks to Didier Raboud (Closes: #643131).
++  * Bug fix: "drops readline support if rebuilt", thanks to Sven Joachim
++    (Closes: #646735).
++  * lower opts on sparc64 asof gcc 4.6.1
++
++ -- Camm Maguire <camm@debian.org>  Wed, 11 Jan 2012 21:04:23 +0000
++
++gcl (2.6.7-92) unstable; urgency=low
++
++  * remove gprof on arm as mcount calls are 24/22bit -- marginally
++    accessible
++
++ -- Camm Maguire <camm@debian.org>  Sat, 07 Jan 2012 02:42:06 +0000
++
++gcl (2.6.7-91) unstable; urgency=low
++
++  * s390x reloc support
++  * lower C optimization on ia64, arm and mips for now
++
++ -- Camm Maguire <camm@debian.org>  Thu, 05 Jan 2012 17:30:01 +0000
++
++gcl (2.6.7-90) unstable; urgency=low
++
++  * libtirpc check for newest glibc
++  * read_preserving_whitespace fix
++  * armhf reloc support
++  * s390x support
++  * try C_GC_OFFSET for sparc64
++
++ -- Camm Maguire <camm@debian.org>  Wed, 04 Jan 2012 19:51:13 +0000
++
++gcl (2.6.7-89) unstable; urgency=low
++
++  * support new mips relocs
++  * lower opt to work around gcc 4.6 bug on arm
++
++ -- Camm Maguire <camm@debian.org>  Wed, 11 May 2011 20:06:04 +0000
++
++gcl (2.6.7-88) unstable; urgency=low
++
++  * Bug fix: "FTBFS: gcl_arraylib.c:4:42: error: &#39;VV&#39; undeclared
++    (first use in this function)", thanks to Lucas Nussbaum (Closes:
++    #625032).
++
++ -- Camm Maguire <camm@debian.org>  Mon, 09 May 2011 16:00:21 +0000
++
++gcl (2.6.7-87) unstable; urgency=low
++
++  * mips reloc fix;configure default dlopen fix;clean rules and makefiles
++
++ -- Camm Maguire <camm@debian.org>  Fri, 05 Nov 2010 13:29:05 +0000
++
++gcl (2.6.7-86) unstable; urgency=low
++
++  * remove binutils subdir, configure and make changes
++
++ -- Camm Maguire <camm@debian.org>  Thu, 04 Nov 2010 17:55:48 +0000
++
++gcl (2.6.7-85) unstable; urgency=low
++
++  * fix mips relocs for non-static clines
++
++ -- Camm Maguire <camm@debian.org>  Tue, 02 Nov 2010 13:56:40 +0000
++
++gcl (2.6.7-84) unstable; urgency=low
++
++  * better mips relocs, fix link on mingw32
++
++ -- Camm Maguire <camm@debian.org>  Sat, 30 Oct 2010 00:07:39 +0000
++
++gcl (2.6.7-83) unstable; urgency=low
++
++  * fix alpha stubs; fix sparc64 typo; print armhf relocs
++
++ -- Camm Maguire <camm@debian.org>  Thu, 28 Oct 2010 13:43:16 +0000
++
++gcl (2.6.7-82) unstable; urgency=low
++
++  * mips64 fixes
++
++ -- Camm Maguire <camm@debian.org>  Tue, 26 Oct 2010 18:20:04 +0000
++
++gcl (2.6.7-81) unstable; urgency=low
++
++  * sparc64;mips64
++
++ -- Camm Maguire <camm@debian.org>  Tue, 26 Oct 2010 03:33:52 +0000
++
++gcl (2.6.7-80) unstable; urgency=low
++
++  * alpha stubs; sgc mips kernel bug test; mips GPREL32 reloc
++
++ -- Camm Maguire <camm@debian.org>  Mon, 25 Oct 2010 19:52:51 +0000
++
++gcl (2.6.7-79) unstable; urgency=low
++
++  * mips ld_bind_now, disable sgc workaround mips SIGBUS bug
++
++ -- Camm Maguire <camm@debian.org>  Wed, 20 Oct 2010 15:31:59 +0000
++
++gcl (2.6.7-78) unstable; urgency=low
++
++  * mips local got relocs
++
++ -- Camm Maguire <camm@debian.org>  Tue, 12 Oct 2010 17:15:35 +0000
++
++gcl (2.6.7-77) unstable; urgency=low
++
++  * workaround gcc alpha bug
++  * fix alpha reloc
++
++ -- Camm Maguire <camm@debian.org>  Fri, 01 Oct 2010 21:25:11 +0000
++
++gcl (2.6.7-76) unstable; urgency=low
++
++  * fix page_multiple usage for runtime pagesize variance and stable mipsel builds
++  * sparc64 support
++
++ -- Camm Maguire <camm@debian.org>  Fri, 01 Oct 2010 19:18:47 +0000
++
++gcl (2.6.7-75) unstable; urgency=low
++
++  * fix alpha bug
++
++ -- Camm Maguire <camm@debian.org>  Tue, 28 Sep 2010 20:23:21 +0000
++
++gcl (2.6.7-74) unstable; urgency=low
++
++  * fix alpha relocs for axiom
++
++ -- Camm Maguire <camm@debian.org>  Tue, 28 Sep 2010 16:07:38 +0000
++
++gcl (2.6.7-73) unstable; urgency=low
++
++  * sparc reloc updates
++  * fast-link fix
++
++ -- Camm Maguire <camm@debian.org>  Fri, 24 Sep 2010 19:23:16 +0000
++
++gcl (2.6.7-72) unstable; urgency=low
++
++  * remove unused symbols from gcl_cmpopt.lsp
++  * reloc updates
++  * clear gcc warning
++  * default tilde expansion to HOME env in absence of passwd
++  * configure typo fix
++
++ -- Camm Maguire <camm@debian.org>  Wed, 22 Sep 2010 19:32:52 +0000
++
++gcl (2.6.7-71) unstable; urgency=low
++
++  * print sparc64 relocs
++
++ -- Camm Maguire <camm@debian.org>  Sat, 28 Aug 2010 14:50:00 +0000
++
++gcl (2.6.7-70) unstable; urgency=low
++
++  * sparc64/m68k
++
++ -- Camm Maguire <camm@debian.org>  Fri, 27 Aug 2010 16:54:11 +0000
++
++gcl (2.6.7-69) unstable; urgency=low
++
++  * Bug fix: "non-standard gcc/g++ used for build (gcc-4.3)", thanks to
++    Matthias Klose (Closes: #594280).
++
++ -- Camm Maguire <camm@debian.org>  Thu, 26 Aug 2010 19:08:39 +0000
++
++gcl (2.6.7-68) unstable; urgency=low
++
++  * ppc/mips elf reloc fixes
++
++ -- Camm Maguire <camm@debian.org>  Mon, 23 Aug 2010 20:54:30 +0000
++
++gcl (2.6.7-67) unstable; urgency=low
++
++  * Fix compiler::link ansi combo
++
++ -- Camm Maguire <camm@debian.org>  Sat, 21 Aug 2010 02:05:37 +0000
++
++gcl (2.6.7-66) unstable; urgency=low
++
++  * ppc autobuild fix
++  * Bug fix: "FTBFS: sfasli.c:139: error: invalid initializer", thanks to
++    Lucas Nussbaum (Closes: #593037).
++  * Bug fix: "FTBFS on powerpc: Error: The function TK::GET-AUTOLOADS is
++    undefined.", thanks to Mehdi Dogguy (Closes: #593191).
++
++ -- Camm Maguire <camm@debian.org>  Fri, 20 Aug 2010 01:25:09 +0000
++
++gcl (2.6.7-65) unstable; urgency=low
++
++  * autobuilder fixes
++
++ -- Camm Maguire <camm@debian.org>  Sat, 14 Aug 2010 11:30:46 +0000
++
++gcl (2.6.7-64) unstable; urgency=low
++
++  * configure fix
++
++ -- Camm Maguire <camm@debian.org>  Fri, 13 Aug 2010 23:26:07 +0000
++
++gcl (2.6.7-63) unstable; urgency=low
++
++  * macosx support, ppc, i386 and x86_64 -- sfaslmacho.c
++  * windows/wine support -- sfaslcoff.c
++  * better custreloc support obviating my_plt -- sfaslelf.c
++  * debian default custreloc build where supported, all but ia64 and hppa
++  * fix mingw/wine path issues
++
++ -- Camm Maguire <camm@debian.org>  Fri, 13 Aug 2010 16:08:49 +0000
++
++gcl (2.6.7-62) unstable; urgency=high
++
++  * more stable sgc detection via h/tsgc.h
++  * fix plt.h bug on hppa
++  * sublis1-inline fix for acl2
++
++ -- Camm Maguire <camm@debian.org>  Mon, 26 Jul 2010 16:03:54 +0000
++
++gcl (2.6.7-61) unstable; urgency=high
++
++  * mac osx support
++  * fix undef sgc bug in cmpinclude.h
++
++ -- Camm Maguire <camm@debian.org>  Tue, 20 Jul 2010 14:50:19 +0000
++
++gcl (2.6.7-60) unstable; urgency=high
++
++  * fix sh4 support
++
++ -- Camm Maguire <camm@debian.org>  Thu, 29 Apr 2010 18:09:04 +0000
++
++gcl (2.6.7-59) unstable; urgency=high
++
++  * fix hurd support
++
++ -- Camm Maguire <camm@debian.org>  Fri, 23 Apr 2010 17:12:54 +0000
++
++gcl (2.6.7-58) unstable; urgency=high
++
++  * hurd support
++  * sh4 support
++
++ -- Camm Maguire <camm@debian.org>  Fri, 23 Apr 2010 05:09:29 +0000
++
++gcl (2.6.7-57) unstable; urgency=high
++
++  * static function pointer wrapper for gcl_gmp_allocfun, stabilizing gmp
++    on hppa/ia64
++
++ -- Camm Maguire <camm@debian.org>  Mon, 12 Apr 2010 22:28:41 +0000
++
++gcl (2.6.7-56) unstable; urgency=high
++
++  * __builtin___clear_cache on arm
++  * gcc-4.3 on alpha
++
++ -- Camm Maguire <camm@debian.org>  Thu, 28 Jan 2010 00:32:16 +0000
++
++gcl (2.6.7-55) unstable; urgency=low
++
++  * SGC fix, debian override fix, xgcl update
++  * SGC fix for relocatable and contiguous gmp storage
++  * configure fix for arm and hppa
++
++ -- Camm Maguire <camm@debian.org>  Tue, 26 Jan 2010 19:43:08 +0000
++
++gcl (2.6.7-54) unstable; urgency=low
++
++  * robustify user_match, unrandomize, read-char-no-hang for sockets
++  * SA_SIGINFO for 386-linux
++  * if cmpinclude.h is not available, use *cmpinclude-string* in compiler-pass2
++
++ -- Camm Maguire <camm@debian.org>  Wed, 20 Jan 2010 19:02:28 +0000
++
++gcl (2.6.7-53) unstable; urgency=low
++
++  * revert round ratio to nearest
++
++ -- Camm Maguire <camm@debian.org>  Tue, 05 Jan 2010 03:06:59 +0000
++
++gcl (2.6.7-52) unstable; urgency=low
++
++  * SIGINFO for kfreebsd-386
++
++ -- Camm Maguire <camm@debian.org>  Mon, 04 Jan 2010 17:49:05 +0000
++
++gcl (2.6.7-51) unstable; urgency=low
++
++  * user_match exscapes once only
++
++ -- Camm Maguire <camm@debian.org>  Sun, 03 Jan 2010 05:31:20 +0000
++
++gcl (2.6.7-50) unstable; urgency=low
++
++  * gcc 4.4 warning cleanups
++
++ -- Camm Maguire <camm@debian.org>  Thu, 31 Dec 2009 20:43:39 +0000
++
++gcl (2.6.7-49) unstable; urgency=low
++
++  * Bug fix: "/bin/sh: line 6: /bin/gcl: Permission denied", thanks to
++    Nobuhiro Iwamatsu (Closes: #561554).
++
++ -- Camm Maguire <camm@debian.org>  Wed, 30 Dec 2009 23:04:39 +0000
++
++gcl (2.6.7-48) unstable; urgency=low
++
++  * round to nearest in ratio to double
++
++ -- Camm Maguire <camm@debian.org>  Wed, 16 Dec 2009 15:01:55 +0000
++
++gcl (2.6.7-47) unstable; urgency=low
++
++  * Bug fix: "configure: error: Need zlib for bfd linking", thanks to
++    Cyril Brulebois (Closes: #560761).
++  * Bug fix: "Disfunctional maintainer address", thanks to Joerg Jaspert
++    (Closes: #560752).
++
++ -- Camm Maguire <camm@debian.org>  Mon, 14 Dec 2009 19:06:45 +0000
++
++gcl (2.6.7-46) unstable; urgency=low
++
++  * support newer binutils with output_bfd element
++  * Fix 64bit interrupt bug
++  * reader error fix
++  * Ensure plt entries are not blank
++  * plt table reading fix
++  * Bug fix: "FTBFS: current binutils static libs need -lz", thanks to
++    Daniel Schepler (Closes: #521929).
++  * Bug fix: "replacing libreadline5-dev build dependency with
++    libreadline-dev", thanks to Matthias Klose (Closes: #553761).
++  * Bug fix: "crash after ctrl-C", thanks to Miroslaw Kwasniak (Closes:
++    #519903).
++  * Bug fix: "FTBFS with binutils-gold", thanks to Peter Fritzsche
++    (Closes: #554418). -ldl added to bfd linker args
++  * Bug fix: "[INTL:es] Spanish debconf template translation for gcl",
++    thanks to Francisco Javier Cuadrado (Closes: #508728).
++  * Bug fix: "[INTL:it] Italian translation", thanks to Vincenzo
++    Campanella (Closes: #560364).
++  * gcc error/warning cleanups
++  * fix plt table awk
++
++ -- Camm Maguire <camm@debian.org>  Fri, 11 Dec 2009 17:45:14 +0000
++
++gcl (2.6.7-45) unstable; urgency=high
++
++  * proper word order detection macro, fixes armel
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 01 Sep 2008 13:48:16 +0000
++
++gcl (2.6.7-44) unstable; urgency=high
++
++  * backoff on arm opts
++  * more careful handling of GCL_GPROF_START
++
++ -- Camm Maguire <camm@maguirefamily.org>  Sat, 23 Aug 2008 21:28:52 +0000
++
++gcl (2.6.7-43) unstable; urgency=low
++
++  * redo unrandomize.h to enable compilation under -O2 -- FIXME; Closes: 494153
++
++ -- Camm Maguire <camm@maguirefamily.org>  Wed, 20 Aug 2008 21:18:43 +0000
++
++gcl (2.6.7-42) unstable; urgency=low
++
++  * more div/rem symbols for alpha
++
++ -- Camm Maguire <camm@sacrifice.m.enhanced.com>  Sun, 03 Aug 2008 11:18:51 +0000
++
++gcl (2.6.7-41) unstable; urgency=low
++
++  * more div/rem symbols for arm and hppa
++
++ -- Camm Maguire <camm@sacrifice.m.enhanced.com>  Sat, 02 Aug 2008 00:36:07 +0000
++
++gcl (2.6.7-40) unstable; urgency=low
++
++  * default gcc with pic enabled on mips/mipsel
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 01 Aug 2008 13:28:00 -0400
++
++gcl (2.6.7-39) unstable; urgency=high
++
++  * gcc 4.2 for mips/mipsel for now
++  * __divdi3 et. al. symbols for ia64 and arm
++  * clean some compiler warnings
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 01 Aug 2008 12:53:07 -0400
++
++gcl (2.6.7-38) unstable; urgency=low
++
++  * No infinite unrandomization loops
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 31 Jul 2008 15:18:37 -0400
++
++gcl (2.6.7-37) unstable; urgency=low
++
++  * Non-maintainer upload to fix pending l10n issues
++  * Debconf templates and debian/control reviewed by the debian-l10n-
++    english team as part of the Smith review project. Closes: #457025
++  * [Debconf translation updates]
++    - Portuguese. Closes: #457576
++    - Czech. Closes: #457677
++    - French. Closes: #458120
++    - Finnish. Closes: #458255
++    - Galician. Closes: #458529
++    - Vietnamese. Closes: #459008
++    - Russian. Closes: #459308
++    - Dutch. Closes: #459541
++    - German. Closes: #459887
++  * [Lintian] Correct FSF address in debian/copyright
++  * [Lintian] Remove extra whitespaces at the end of
++    debian/in.gcl-doc.doc-base.tk
++  * [Lintian] Correct section in doc-base documents from Apps/Programming
++    to Programming
++  * Accept NMU
++  * Bug fix: "[INTL:sv] po-debconf file for gcl", thanks to Martin Ågren
++    (Closes: #492241).
++  * Bug fix: "gcl: FTBFS [amd64]: cannot trap sbrk", thanks to Daniel
++    Schepler (Closes: #487435).  Modified and applied personality handling
++    patch.
++  * Bug fix: "gcl: Builds broken package with gcc-4.3", thanks to Daniel
++    Schepler (Closes: #467474).  Added sincos to plttest.c
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 31 Jul 2008 15:18:15 -0400
++
++gcl (2.6.7-36) unstable; urgency=low
++
++  * statsysbfd in Debian, incoporating modules into libgcl.a for
++    compiler::link support
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 30 Nov 2007 12:03:31 -0500
++
++gcl (2.6.7-35) unstable; urgency=low
++
++  * drop gcc-3.4 on arm, Closes: #440421
++  * Depend on emacs22 | emacsen, Closes: #440190
++  * debconf translations Closes: #410683, Closes: #419736, Closes: #423706, Closes: #441408
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 23 Nov 2007 10:25:23 -0500
++
++gcl (2.6.7-34) unstable; urgency=low
++
++  * add read-byte,read-sequence,write-byte,write-sequence support
++  * fix some float parsing inaccuracies
++  * support GNU_HASH sections, Closes: #426135
++  * safety 2 for certain low level functions in gcl_listlib.lsp, CLoses:
++    #415266
++
++ -- Camm Maguire <camm@enhanced.com>  Wed,  4 Jul 2007 16:23:25 -0400
++
++gcl (2.6.7-33) unstable; urgency=low
++
++  * Fix leading underscore behavior of my_plt
++  * add sqrt to plttest.c
++  * disable-nls added to the binutils subconfigures to avoid msgfmt
++    dependency
++  * remove -lintl from powerpc-macosx.defs
++  * update to make-user-init from cvs head to support hol88, fix link on
++    mingw
++  * solaris-i386 support
++  * fix read-char-no-hang on mingw
++  * fast compile without wrap-literals
++  * sigaltstack support
++  * fix cerror
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 16 May 2007 12:45:40 -0400
++
++gcl (2.6.7-32) unstable; urgency=low
++
++  * static function pointers for hppa
++
++ -- Camm Maguire <camm@enhanced.com>  Sun, 29 Oct 2006 02:15:13 -0500
++
++gcl (2.6.7-31) unstable; urgency=low
++
++  * no C optimization on hppa, gcc 4.x on hppa
++  * update cs.po, Closes: #389211
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 27 Oct 2006 13:06:55 -0400
++
++gcl (2.6.7-30) unstable; urgency=low
++
++  * make sure *tmp-dir* is set
++  * makeinfo is optional
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 25 Oct 2006 17:37:54 -0400
++
++gcl (2.6.7-29) unstable; urgency=low
++
++  * Fix build issues on hppa and m68k
++
++ -- Camm Maguire <camm@enhanced.com>  Sat, 21 Oct 2006 15:10:41 -0400
++
++gcl (2.6.7-28) unstable; urgency=low
++
++  * si::gettimeofday function for HOL88 build;macosx fixes
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 18 Oct 2006 13:21:26 -0400
++
++gcl (2.6.7-27) unstable; urgency=low
++
++  * unrestricted gcc for alpha
++  * more default stack space
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 17 Oct 2006 16:33:43 -0400
++
++gcl (2.6.7-26) unstable; urgency=low
++
++  * Fix large float read bug in c1constant-value
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 16 Oct 2006 12:41:03 -0400
++
++gcl (2.6.7-25) unstable; urgency=low
++
++  * build-dep on gcc3.4 where appropriate
++  * Newer standards
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 12 Oct 2006 09:37:08 -0400
++
++gcl (2.6.7-24) unstable; urgency=low
++
++  * build-dep on gcc3.4 where appropriate
++  * Newer standards
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 12 Oct 2006 02:22:04 -0400
++
++gcl (2.6.7-23) unstable; urgency=low
++
++  * backoff to gcc-3.4 on alpha,arm,hppa, and m68k
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 11 Oct 2006 10:16:59 -0400
++
++gcl (2.6.7-22) unstable; urgency=low
++
++  * HAVE_SYS_SOCKIO_H for solaris
++  * autolocbfd for solaris
++  * no -Wall when no gcc
++  * no -fomit-frame-pointer on m68k
++  * no profiling on mips
++  * $(AWK) instead of awk
++  * si::stat function
++  * fix 'the boolean type coersion error
++  * no varargs on cygwin
++  * while eval macro
++  * gensym counter fixes
++  * xgcl updates
++
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 15 Sep 2006 13:48:28 -0400
++
++gcl (2.6.7-21) unstable; urgency=low
++
++  * Fix socket write error
++
++ -- Camm Maguire <camm@enhanced.com>  Wed,  6 Sep 2006 09:59:50 -0400
++
++gcl (2.6.7-20) unstable; urgency=low
++
++  * fix ia64 build
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 31 Aug 2006 15:14:18 -0400
++
++gcl (2.6.7-19) unstable; urgency=low
++
++  * xgcl upgrade
++  * parse_number from cvs head with *read-base* fixes
++  * fix object_to_string
++  * install xgcl-2/sysdef.lisp
++  * fix info dir and emacs site lisp dir installation
++  * New xgcl readme
++  * Remove bashism from debian/rules, Closes: #376806, Closes: #385176.
++  * Fix dwdoc doc-base error, Closes: #385126
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 30 Aug 2006 12:13:46 -0400
++
++gcl (2.6.7-18) unstable; urgency=low
++
++  * remove emacs build dependency
++  * synch xgcl-2 with Novak edits
++  * fix build errors
++  * Remove power of two limit to MAXPAGE;fix X lib paths
++  * configure cleanup
++  * delete-file works on directories;build xgcl the old way;latest xgcl
++    from Gordon Novak
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 23 Aug 2006 14:19:51 -0400
++
++gcl (2.6.7-17) unstable; urgency=low
++
++  * Bug fix: "gcl: [INTL:sv] Swedish debconf templates translation",
++    thanks to Daniel Nylander (Closes: #343695).
++  * Bug fix: "gcl: French debconf templates translation update", thanks to
++    Sylvain Archenault (Closes: #344629).
++  * clean xgcl-2/gmon.out
++  * cleanup latest gcc type-punning warnings
++  * defentry C proclamations and xgcl cleanup
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 26 Jun 2006 16:45:09 +0000
++
++gcl (2.6.7-16) unstable; urgency=high
++
++  * Add missing build dependencies, omit html generation to avoid non-free
++    dependencies, CLoses: #372574.
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 19 Jun 2006 14:05:59 +0000
++
++gcl (2.6.7-15) unstable; urgency=low
++
++  * Use internal gettext for bfd
++  * Restore xgcl2
++  * Set compiler::*tmp-dir* at runtime
++  * report tmp-dir setting with system-banner to enable clean -eval -
++    batch operation; fix listen on socket streams; use (abs (getpid)) in
++    tmp names for Windows
++  * fix configure unbalanced quotes
++  * support for bignums in nth et.al.
++  * Fix branch cut of atanh
++  * Fix typep on simple-arrays
++  * prevent nested free errors
++  * revert atanh branch cut change
++  * Fix function documentation wrapping by compile
++  * cond evalmacro from cvs head
++  * Fix fixnum declarations in new smallnthcdr/bignthcdr
++  * fix simple-array typep
++  * updates for lsp/sys-proclaim
++  * xgcl integration
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Jun 2006 17:52:22 +0000
++
++gcl (2.6.7-14) unstable; urgency=low
++
++  * Add mount declaration to plt.c
++
++ -- Camm Maguire <camm@enhanced.com>  Sun, 18 Dec 2005 12:56:51 +0000
++
++gcl (2.6.7-13) unstable; urgency=low
++
++  * Add feof to plttest.c for macosx
++  * plt related fixes for macosx
++  * fix configure
++  * Cleanup LEADING_UNDERSCORE case in plt.c et.al for macosx et.al.
++  * pass devices if present in compiler::get-temp-dir, fix disassemble
++    for new gazonk name pattern
++
++ -- Camm Maguire <camm@enhanced.com>  Sat, 17 Dec 2005 15:22:40 +0000
++
++gcl (2.6.7-12) unstable; urgency=low
++
++  * Fix read-char-no-hang
++  * Strip emacs warnings when finding site-lisp directory
++  * mach-o update for latest binutils
++  * Latext bfd mach-o support from Aurelien
++  * revert to locbfd default on ppc-macosx
++  * More ppc macosx fixes from Aurelien
++  * revert a few macosx changes
++  * default to void * prototype on my_sbrk for latest macosx pending
++    Aureliens #ifdef
++  * Fix plt.h parsing on macosx
++  * Fix leading_underscore detection on mac
++  * macosx name mangling fixes
++  * multi-process safe gazonk names in compiler::*tmp-dir*
++  * Add underscore-mangled setjmp calls to plttest.c for macosx
++  * Fix POTFILES.in, Closes: #336207.
++  * Update templates, Closes: #324636
++  * New French and Swedish translations, Closes: #333654, Closes: #336757.
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 14 Dec 2005 18:52:49 +0000
++
++gcl (2.6.7-11) unstable; urgency=low
++
++  * Remove gcc-3.3 for arm in debian/rules
++  * make default maxpage depend on SIZEOF_LONG and PAGEWIDTH in a sane
++    fashion
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 20 Oct 2005 00:08:37 +0000
++
++gcl (2.6.7-10) unstable; urgency=low
++
++  * Fix long-call gcc configure bug for ppc, add fdollars in 
++    identifiers on arm
++  * remove gcc restrictions on arm
++  * revert 64bit coersion (gmp_big.c, maybe_replace_big) and replace with
++    code in siLnani (main.c) to get addresses from bignums.  2.7.0 will
++    have 64bit fixnums on 64bit machines, but this should not be
++    backported to 2.6.x
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 12 Oct 2005 23:11:12 +0000
++
++gcl (2.6.7-9) unstable; urgency=low
++
++  * 64bit fixnum fasd data format fix from cvs head
++
++ -- Camm Maguire <camm@enhanced.com>  Wed,  5 Oct 2005 18:49:50 +0000
++
++gcl (2.6.7-8) unstable; urgency=low
++
++  * Fix 64bit fixnum coersion bug using code from cvs HEAD
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 30 Sep 2005 22:14:38 +0000
++
++gcl (2.6.7-7) unstable; urgency=high
++
++  * Scan .o file for init name when using dlopen
++  * Set init name using .o file instead of source file by default
++  * wrap-literals function from cvs head to allow optimizations using
++    compile or compile-file
++  * ADDR_NO_RANDOMIZE fix
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 29 Sep 2005 17:50:56 +0000
++
++gcl (2.6.7-6) unstable; urgency=high
++
++  * Build bfd snapshot locally, Closes: #318681
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 20 Sep 2005 17:53:17 +0000
++
++gcl (2.6.7-5) unstable; urgency=high
++
++  * gcc-3.3 for arm
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 15 Sep 2005 20:33:00 +0000
++
++gcl (2.6.7-4) unstable; urgency=high
++
++  * gcc 3.4 on arm to work around reserved '$' identifiers.
++  * gcl: French translation update
++  * French translation added, Closes: #325214
++  * Czech translation added, Closes: #325869
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 15 Sep 2005 13:45:11 +0000
++
++gcl (2.6.7-3) unstable; urgency=low
++
++  * static wraper for compiled_regexp for ia64
++
++ -- Camm Maguire <camm@enhanced.com>  Sat, 10 Sep 2005 11:26:37 +0000
++
++gcl (2.6.7-2) unstable; urgency=high
++
++  * rebuild against libgmp3c2, Closes: #323765
++  * 2.6.7 fixes all gcc 4.0 issues.  Closes: #323979
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 24 Aug 2005 00:44:48 +0000
++
++gcl (2.6.7-1) unstable; urgency=high
++
++  * Fix (listen) with readline on
++  * fix control-d with readline
++  * libreadline5 support for Debian
++  * Support for pre-compiled regexps and new texinfo format
++  * Reenable run-process
++  * Push function 'accept  into lisp, use select for 'listen on socket
++    streams
++  * New Upstream release version
++  * Native-reloc feature
++  * Add daemon capabilities to server sockets, document socket and
++    accept
++  * Some gcl-tk fixes
++  * Update wrapt-literals strategy to be consistent with CVS head --
++    wrap evreything but symbols and integers, don't wrap when keeping
++    the gazonk files for linking in different images, this is really a
++    compile-file operation
++  * gcltk demo cleanups
++  * Probe-file, open_stream, and the like fail on directories
++  * Resolve symlinks in truename
++  * Place prototypes for defcfun in header files
++  * Support for unique init names for compiler::link and the like
++  * libreadline5 for Debian
++  * remove _o from init-names
++  * gcc-4.0 fixups
++  * Bug fix: "gcl: depends on binutils-dev &lt;&lt;= 2.1.5-999), so
++    uninstallable in unstable", thanks to Steve Langasek (Closes:
++    #318681).  Rebuild with new release to autocompute this dep
++  * Bug fix: "gcl: Please switch to po-debconf", thanks to Lucas Wall
++    (Closes: #295930). Apply po-debconf patch
++  * Newer standards
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 11 Aug 2005 15:00:26 +0000
++
++gcl (2.6.6-1) unstable; urgency=high
++
++  * New upstream release
++  * Allow .data section to be first in executable, as on solaris.  Also
++    allow for new bfd section size semantics
++  * Don't try to write map file when not using GNU ld.  Also allow
++    compile-file to process pathnames with whitespace on Windows
++  * Fix corner case fixnum arithmetic on 64bit machines
++  * Rework gmp_wrappers semantics for older gcc
++  * Explicitly mprotect loaded code pages PROT_EXEC on x86 Linux, as FC3
++    now requires it.
++  * lisp-implementation-version is GCL
++  * Reader extension patch allowing for foo::(bar foobar) semantics
++  * a shell script variable fix in "unixport/makefile" for MSYS
++  * __MINGW32__ malloc initialisation fix in "o/alloc.c"
++  * Windows file/directory fixes in "o/unixfsys.c"
++  * MinGW32 -march in configure - removes deprecation warnings
++  * MinGW32 directory fix - "o/mingfile.c".
++  * Allow for sysconf to determine clock granularity at compile time to
++    fix time errors on the Itanium
++  * Disable SGC on macosx until the sgc/save problem can be fixed.
++  * Fix fixnum print bug on 64bit
++  * Fix nil types in room report
++  * 64bit fixes to fixnum_add and fixnum_sub
++  * Fix Mac SGC/save bug, at least in part
++
++ -- Camm Maguire <camm@enhanced.com>  Sun, 16 Jan 2005 02:28:50 +0000
++
++gcl (2.6.5-1) unstable; urgency=high
++
++  * New gmp_wrappers.{c,h} files that prevent all GBC within gmp,
++    obviating the need for gmp patches and a local gmp configure.  FIXME
++    -- extend to all gmp functions in a systematic way, and write header
++    information for future use in the compiler, making sure that plt.c
++    carries the needed gmp symbols at this point
++  * Build support for gmp_wrappers
++  * Support for gmp_wrappers in alloc_relblock/alloc_contblock;Support
++    for GCL_GPROF_START define in gprof functions
++  * dynsysgmp on by default; configure backs off to local gmp configure
++    and build automatically if needed either because gmp not present or
++    patched symbols are needed; autodetect and set the _start symbol
++    when using gprof
++  * Fix (setf (get ...) ...) return bug when interpreted
++  * Fix overwrite end of sgc_type_map bug
++  * Versioned depends on binutils-dev manually installed by Debian build
++    process
++  * New upstream release
++  * Proper binutils dependency for Debian
++  * head -1l -> head -n 1 for freebsd
++  * Cleanup gmp_wrapper code, check for in-place calls as write in one
++    step is not guaranteed in gmp according to its developers
++  * Rebuild against binutils 2.15, Closes: #266253, Closes: #263983
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 17 Aug 2004 18:22:27 +0000
++
++gcl (2.6.4-1) unstable; urgency=high
++
++  * New upstream release
++  * Make disassemble work when original system directory is gone
++  * New debian/support files for debconf image default selection support
++  * More descriptive compiled C function names for use in gprof when
++    profiling is compiled in
++  * Compiler fix for proclaimed vararg functions
++  * Allow sharp numbers to be bignums
++  * lintian fix in string-match
++  * Prototype for alloca for lint
++  * Improve gprof support
++  * Improve sgc page allocation which optimize-maximum-pages is in
++    effect and the hole is overrun
++  * Build a profiling set of images as well for Debian, toggle between
++    all four by default via debconf
++  * reset-sys-paths lisp function for moving image installation
++    directories, show profiling support in banner if present
++  * Fix typo in sys docs
++  * reset sys paths on installation
++
++ -- Camm Maguire <camm@enhanced.com>  Thu,  5 Aug 2004 22:48:56 +0000
++
++gcl (2.6.3-1) unstable; urgency=high
++
++  * Correctly parse gcc version strings in gmp3 subconfigure on arm
++  * Fix variable capture error in dotimes macro
++  * Better sed separator for LI-CC in unixport/makefile
++  * Fix segfault in string-match
++  * vs_top=sup -> (reset-top) where possible in compiler.  FIXME: a few
++    items of a different form which need to set *sup-used* too.
++  * Correct room report to show proper percentages when sgc is on
++  * Read in RELOC environment variable if set as default in debian/rules
++  * Remove local bfd libraries from libs variables as their objects are
++    incorporated into libgcl and as the source directory may not be
++    available at runtime
++  * Remove pcl/pcl_gazonk*lsp build-generated files from source
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 15 Jul 2004 14:26:44 -0400
++
++gcl (2.6.2-3) unstable; urgency=low
++
++  * Fix value stack leak in rare compiled call sequence
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 13 Jul 2004 10:17:02 -0400
++
++gcl (2.6.2-2) unstable; urgency=low
++
++  * New upstream point release
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 13 Jul 2004 10:08:53 -0400
++
++gcl (2.6.2-1) unstable; urgency=low
++
++  * gcc-3.4 support
++  * Proper isnormal default courtesy of Magnus Henoch
++  * gclclean makefile target and other small makefile changes
++  * Proper check for C stack array body address in gbc.c and sgbc.c
++  * New upstream release
++  * acconfig.h update for isnormal default
++  * Fix bug in setting elements (si::aset) of 0 rank arrays uncovered by
++    the random tester
++  * No -fomit-frame-pointer on mingw
++  * Backport minimal ansi-test patches from HEAD to enable running of
++    the random tester
++  * installed tcl/tk patch for mingw
++  * Fix banner license detection code in lsp/gcl_mislib.lsp as
++    8features* entries are now keywords
++  * o/makefile changes to work around trailing slash -I arguments gcc
++    bug on mingw
++  * Patch to mingwin.c:fix_filename to close long standing 'maxima
++    ignore-errors filename corruption' bug on mingw
++  * Check for too large rank supplied to make-array1
++  * Fix potential stack overwrite bug in quick_call_sfun/eval.c
++  * Add -mprferred-stack-boundary=8 on amd64, as constant integers used
++    in a call must be retrievable with va_arg(,fixnum)
++  * Revert preferred-stack-boundary option on amd64 as it does not play
++    well with external libraries, also eliminate -m64 to allow for user
++    settings.  Cast fixnum constant C arguments in gcl_cmploc.lsp
++    explicitly to (long) to ensure they can be extracted via
++    va_arg(,fixnum)
++  * reenable SA_SIGINFO on amd64 to restore SGC there
++  * Include elf.h in FreeBSD.h
++  * Allow for elf_abi.h in FreeBSD.h
++  * Add README.openbsd file
++  * readme.mingw updates
++  * solaris.h updates for custreloc option
++  * Close possibility of malloc failure due to intervening gbc arising
++    from the misordering of allocation calls
++  * C_GC_OFFSET is 2 on m68k-linux
++  * Add release notes, remove gcl document presumably based on dpANS for
++    now
++  * Fixup bad extern declaration of signals_handled in usig.c
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 25 Jun 2004 22:43:52 +0000
++
++gcl (2.6.1-39) unstable; urgency=high
++
++  * Fix segfault in referencing (sgc_)type_map out of bounds which can
++    occurr when C stack is below heap, as on alpha.
++  * Cleanup compiler warnings on bcmp.c bzero.c and bcopy.c
++  * Clean up compiler warning in file.d
++  * Ensure set TLDFLAGS are used in finding DBEGIN in copnfigure.in, for
++    OpenBSD
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  7 May 2004 21:50:03 +0000
++
++gcl (2.6.1-38) unstable; urgency=low
++
++  * Make *features* entries keywords -- add canonical host cpu and
++    kernel-system to *features*, disable h files specific
++    ADDITIONAL_FEATURES macro in main.c
++  * Fix merge-pathanames bug in concatenating default and supplied
++    directory lists
++  * Minor pathname and *features* fixes
++  * Fix recently introduced configure.in syntax bug
++  * Minor patches to support big gcl images -- all page integers must be
++    long ints, need stack space limits that scale with MAXPAGES at least
++    to allow free_map stack array in sgc_start.  FIXME -- right now can
++    handle situations where page numbers are ints, but npage*PAGESIZE is
++    a long, need to handle npage >MAX_INT later.  This is to support the
++    'billion cons element acl2 image' requested by a gcl user
++  * Revert winnt features and debugging aids in configure.in
++  * OpenBSD support, gcc warning cleanups for long page integers
++
++ -- Camm Maguire <camm@enhanced.com>  Mon,  3 May 2004 21:34:57 +0000
++
++gcl (2.6.1-37) unstable; urgency=high
++
++  * mprotect pages PROT_EXEC as CLEAR_CACHE step on amd64-linux
++  * Prevent recursive malloc calls for OpenBSD error reporting
++  * Push dummy 0 time for child runtime on windows to be compatible with
++    other platforms for now
++  * Make sure pages are mprotected PROT_EXEC for amd64 support
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 13 Apr 2004 21:00:22 +0000
++
++gcl (2.6.1-36) unstable; urgency=low
++
++  * Improve optimize-maximum-pages algorithm
++
++ -- Camm Maguire <camm@enhanced.com>  Tue,  6 Apr 2004 03:23:40 +0000
++
++gcl (2.6.1-35) unstable; urgency=low
++
++  * Fix sigcontext autodetection on sparc
++
++ -- Camm Maguire <camm@enhanced.com>  Sun,  4 Apr 2004 19:26:48 +0000
++
++gcl (2.6.1-34) unstable; urgency=low
++
++  * Fix GNU_LD autodetection in configure.in
++  * Eliminate C_INCLUDE_PATH from shell script wrapper
++  * Use lisp rather than 'system touch' to make empty map file in
++    compiler::link
++  * fix small bug when info is passed bad second argument
++  * Don't try to open map file if doesn't stat (macosx)
++  * Add earlier forgotten branch patch to sfaslbfd.c for macosx
++  * Backport new eval-when keyword support from 2.7 to run random tester
++  * Perhormance improvement to gcl_seqlib.lsp -- no inner loop over
++    bignums
++  * Proper contblock/relblock determination when expanding string
++    streams
++  * Proper string type determination for *link-array*
++  * .ini files depend on plt.h
++  * plttest.c cannot depend on include.h
++  * Address longstanding FIXmE in gensym, so that two strings are not
++    allocated for each gensym
++  * Fix rare infinite loop bug in array.c
++  * Import si::info into 'user
++  * , -> # as sed separator
++  * Minro warning removals and fixups
++  * Binary searches through ordered arrays of referred and changed
++    variables for dramatic compiler performance improvement in the large
++    case -- support declarations and thereby optimizations of the form
++    (declare ((vector t) foo)), etc.
++  * Better 'time macro
++  * rebuild pcl_gaz* files
++  * cleanup room report and give more space to modern large heaps
++  * room report formatting
++  * Properly gensymmed time macro
++  * Allow for white space chars in compiled filenames
++  * Autodetect and work around sbrk randomization, e.g. on Fedora 1
++  * Probe for sbrk before probing for randomized sbrk
++  * Openbsd changes -- maximize data seg resource if possible, avoid
++    mallocing error message when allocation routines fails
++  * Fix sigcontext configure tests
++  * Rename loop-finish -> sloop-finish in sloop package so that sloop
++    and ansi loop can be used simultaneously
++  * Handle arguments which are zero in LCM
++  * Fix typo in configure.in
++  * Improved dotimes macro which avoids unnecessary fixnum garbage
++    generation
++  * Backport of ignorable declaration keyword for new dotimes macro
++  * si::*OPTIMIZE-MAXIMUM-PAGES* support
++  * rebuild pcl generated lisp files
++
++ -- Camm Maguire <camm@enhanced.com>  Sat,  3 Apr 2004 19:27:18 +0000
++
++gcl (2.6.1-33) unstable; urgency=low
++
++  * Remove extraneous symbols from plt.h, autodetect and correct for
++    leading underscore in object symbols
++  * complete readline version detection commit
++  * Backport support for new eval-when keywords
++  * Autodetect GNU ld and add -Wl,-Map only when appropriate
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 10 Mar 2004 22:51:44 +0000
++
++gcl (2.6.1-32) unstable; urgency=low
++
++  * Try to automatically determine the form used for the explicitly
++    compiled in external function addresses in plt.c
++  * No need to explicitly write cr-lf on windows
++  * Autodetection of machine on FreeBSD
++  * Updated defs and h files for FreeBSD courtesy of Mark Murray
++  * Minor ifdefs needed for FreeBSD
++  * Refer to exported non-static C stub of fSmake_vector1 in plt.c
++    (needed on ia64)
++  * Readline 4.1/4.3 configure magic
++
++ -- Camm Maguire <camm@enhanced.com>  Tue,  9 Mar 2004 01:58:43 +0000
++
++gcl (2.6.1-31) unstable; urgency=low
++
++  * Adjustments to vs_top reset logic to clear (hopefully last)
++    remaining bug found by the random-tester
++  * Allow args-info-referred-vars to match replaced vars, clearing bug
++    report submitted by Matt Kauffman
++  * Rework plt code yet again to be compatible with compiler::link for
++    axiom, and mingw32
++
++ -- Camm Maguire <camm@enhanced.com>  Mon,  8 Mar 2004 12:16:46 +0000
++
++gcl (2.6.1-30) unstable; urgency=low
++
++  * Fix rsym generated symbol tables for 64 bit platforms
++  * Make sure 'unwind' in frame.c does nt go below frs_org
++  * Do not define symbols with no value, either in bfd/rsym, or in
++    plt.c.  Generates a clear and explicit error of an undefined symbol
++    when we've missed an address
++  * Define the external symbols known to be written at present in plt.c
++  * fix some more compiler errors found by the random tester -- all
++    related to proper unwinding of temporary reductions of vs_top from
++    te local supremum
++
++ -- Camm Maguire <camm@enhanced.com>  Sat,  6 Mar 2004 02:05:59 +0000
++
++gcl (2.6.1-29) unstable; urgency=low
++
++  * Remove implicit dependency on gawk, optimize plt.c a little
++
++ -- Camm Maguire <camm@enhanced.com>  Wed,  3 Mar 2004 16:08:30 +0000
++
++gcl (2.6.1-28) unstable; urgency=low
++
++  * make sure bfd fasload initializes dum.sm.sm_object1 for
++    read_fasl_vector
++  * When a tagbody contains ccb reference tags, and hence i itself
++    marked ccb, mark all the clb tags therein ccb too, as the tagbody
++    environment will be consed in c2tagbody-ccb.  FIXME -- review this
++    logic carefully
++  * fix typoe in o/sfaslbfd.c
++  * Add code to unwind redefinitions of the stack supremum in c2expr-top
++    (used in c2multiple-value-prog1 and c2multiple-value-call in
++    evaluating arguments) on non-local exit
++  * Use new temporarry variables holding lisp stack  supremum for lint
++  * Eliminate extraneous warning message when allocating fewer pages
++    than already allocated
++  * Rework internal plt symbol address capture
++  * Cleanup sfaslelf compiler warning
++
++ -- Camm Maguire <camm@enhanced.com>  Wed,  3 Mar 2004 00:27:08 +0000
++
++gcl (2.6.1-27) unstable; urgency=low
++
++  * Modify default banner slightly
++  * Homebrew plt-like mechanism for ensuring that valid internal
++    addresses exist to which undefined symbols in compiled lisp objects
++    referring to external shared libraries can be relocated
++  * Make configure demand gettext when choosing --enable-locbfd
++  * Make sure references to ldb1, a stub conventionally optimized away,
++    can be resonled when optimization is turned off
++  * completion_matches ->  rl_completion_matches in gcl_readline.d,
++    which is what is exported in the headers
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 27 Feb 2004 23:50:49 +0000
++
++gcl (2.6.1-26) unstable; urgency=low
++
++  * Rework compiler::*ld-libs*, compiler::link, and unixport/makefile to
++    accomodate mingw need for firstfile.o and lastfile.o
++  * Remove incompatible -fomit-frame-pointer when compiling with -pg
++    profiling
++  * Load sys-proclaim.lisp files forimproved linking and smaller object
++    size across the board, install same for use with compiler::link
++  * Use pathnames instead of strings in compiler::link, also in image
++    init files, for Windows
++  * small mod to unixport/makefile re filtering of firstfile and
++    lastfile
++  * Backport zero divisor error cnditions from HEAD for
++    floor,ceiling,truncate
++  * Default to debug mode on hppa to work around gcc compiler
++    optimization bugs
++  * Add missing m4 and automake files in binutils directory to enable
++    automake and autoconf here
++  * Add mach-o specific files from cvs head to local bfd tree
++  * Add bfd/po makefiles
++  * Macosx defaults in configure.in
++  * bfd make and configure file changes to handle mach-o backend
++  * *gcl-version* -> *gcl-minor-version*,*gcl-extra-version*
++  * Support for more informative banner reading features list
++  * Support for both sigbus and sigsegv in sgbc.c as is customary in .h
++    files
++  * mach-o compatible changes in sfaslbfd.c
++  * Support for new debugging section names in sfaslelf.c
++  * powerpc-macosx h and defs files from cvs head
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 25 Feb 2004 23:08:59 +0000
++
++gcl (2.6.1-25) unstable; urgency=low
++
++  * rl_putc_em a carriage return after invoking readline to ensure the
++    prompt in rl_putc_em_line is cleared.
++  * use standard sgc fault recovery element for hppa as recommended by
++    hppa kernel experts
++  * Store banner in si::*system-banner* for possible modification
++  in compatibly licensed programs
++  * exit with -1 when standard in ends in lisp debug mode
++  * Backport macosx files from cvs HEAD
++  * Document system return codes
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 13 Feb 2004 20:44:54 +0000
++
++gcl (2.6.1-24) unstable; urgency=low
++
++  * Revert unixport/makefile link order fix for windows, breaks
++    compiler::link, find another way
++  * runtime SGC fault recovery test
++  * Protect read/fread in case SGC is enabled with safe (restartable)
++    versions
++  * SGC on for arm and hppa
++  * remove fast-link workaround now fixed for windows
++  * Backport HEAD makefile changes to clean .{c,h,data} files and
++    new_decl.h, remove said from repository (generated files)
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 12 Feb 2004 05:56:29 +0000
++
++gcl (2.6.1-23) unstable; urgency=low
++
++  * Remove calls to init-readline with new automatic readline setup
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 27 Jan 2004 20:27:20 +0000
++
++gcl (2.6.1-22) unstable; urgency=low
++
++  * Build depend on emacs21 | emacsen
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 23 Jan 2004 22:01:15 +0000
++
++gcl (2.6.1-21) unstable; urgency=low
++
++  * Automatic readline initialization
++  * Add watch file
++  * Prevent circular error loops
++  * Prevent automatic optimization added to CFLAGS by autoconf
++  * Rework documentation installation in and outside of Debian
++  * Support user deined predicates at an elementary level in the form
++    '(satisfies foop) in gcl_predlib.lsp
++  * Install binary gcd algorithm for ~10% performance increase
++  * Rescale some default allocation parameters -- bignum allocation by
++    relblocks by default, default growth parameters are 1 (min),
++    0.1*MAXPAGE (max), 0.5 (increase), 0.3 (percent free), holepage is
++    4*MAXPAGE/1024, INIT_HOLEPAGE, INIT_NRBPAGE and RB_GETA scale
++    accordingly
++  * Clean windows/sysdir.bat
++  * Check for zero args in new gcd code
++  * Default hole is maxpages/10, holesize configure option added
++  * Fix syntax errors in older reloaction code: sfaslelf.c
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 16 Jan 2004 16:57:50 +0000
++
++gcl (2.6.1-20) unstable; urgency=low
++
++  * Fix gcl-doc doc-base files
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 30 Dec 2003 22:30:39 +0000
++
++gcl (2.6.1-19) unstable; urgency=low
++
++  * Fix bug in compiler::c2labels in which *ccb-vs* was missing a ocal
++    rebind
++  * Remove duplicate tags from compiled C switch statements
++  * Minor merges for DARWIN support
++  * Path to configure to make --enable-emacsdir work
++  * Check for readline/readline.h header before configuring for readline
++  * Improve system bfd library location detection
++  * Make sure external gmp lib is compatible via __GNU_MP_VERSION, else
++    backoff to local gmp build;  prepend externally defined CFLAGS into
++    output CFLAGS, FINAL_CFLAGS, and NIFLAGS
++  * Remove --enable-gmp configure option; gmp is required for GCL
++  * Use --enable-emacsdir in debian/rules, make sure --enable-emacsdir
++    and --enable-infodir work when arg contains ${prefix}
++  * Fix typo in chap-6.texi
++  * Make sure to export SGC define from config.h to cmpinclude.h -- Now
++    that we used optimized structures in the compiler, we need at least
++    the definition of SGC_TOUCH there to prevent GBC errors.  FIXME --
++    handle header dependencies more robustly.  Thanks to Robert Boyer
++    for the report
++  * Improve SGC define extraction for cmpinclude.h
++  * Fix variable reference errors which were occurring for compiled
++    local functions defined within closure-generating or other
++    environment stack pushing functions when safety is set to 3 (thanks
++    Paul Dietz for the report.).  When constructing local functions and
++    closures within a 'mother' function, *ccb-vs* will hold the number
++    of closure environments stacked at the point of each closure
++    creation or call to a local function.  This value is stored as the
++    cadr of a list pushed onto *local-funs*, and is read when writing
++    out the C code for the local function or closure, where it is used
++    to initialize *ccb-vs* and *initial-ccb-vs* for subsequent
++    processing.  The latter is used as the reference point when
++    addressing variables in wt-ccb-vs, as the former could be still
++    further incremented within the closure or local function itself.
++    Local functions as opposed to closures do not increment *ccb-vs* and
++    do not push the environment.  When a local function is defined
++    within a closure-generating flet/labels, or a tagbody or block which
++    pushes the environment, the value of *ccb-vs* written to the list
++    corresponding to the local function can be erroneously incremented
++    beyond the *initial-ccb-vs* value established before any environment
++    pushing operations were processed.  It is this latter value which is
++    appropriate for use in wt-ccb-vs, as the local functions, unlike the
++    closures, receive an environment level with the mother generating
++    function.  We therefore push *initial-ccb-vs* onto the end the list
++    pushed onto *local-funs* only when defining a local function, and use
++    it to initialize an added optional variable initialize-ccb-vs in
++    t3local-fun and t3local-dcfun, which default to the original ccb-vs.
++    We then bind *initial-ccb-vs* to this new optional parameter instead
++    of the former *ccb-vs, which was only appropriate for closures.
++  * Put in rudimentary logic for the selection of stack vs. heap storage
++    for bignums depending on the frame context.  FIXME, this logic is
++    too conservative at present.  SETQ_II and SETQ_IO take an additional
++    parameter which is malloc when *unwind-exit* is bound and contains
++    'frame and  alloca otherwise.  New macro bignum-expansion-storage.
++    FIXME, ensure that IDECL does not need similar modification.
++  * Cleanup a few compiler warnings in the compiler
++  * Cleanup compiler warning in alloc.c
++  * Eliminate unneeded transformatio of contniguous pages to other pages
++    on save-system.
++  * malloc -> gcl_gmp_alloc in recent setjmp frame protected bignum
++    allocation
++  * Add -Wa,--execstack if on an exec-shield enabled system, can be
++    explicitly added otherwise by setting the CFLAGS variable before the
++    configure step
++  * Better execstack flag handling in configure
++  * Allow for commas in CFLAGS in sed command writing *cc*
++  * Preliminary gprof profiling support
++  * Rework html documentation generation and installation, Closes:
++    #221774
++  * Remove parentheses from setf class-name info node in chap-7.texi
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 30 Dec 2003 16:26:45 +0000
++
++gcl (2.6.1-18) unstable; urgency=low
++
++  * Portability patches to makefiles to support non-GNU grep (no -q),
++    and non-bash sh, C_INCLUDE_PATH=...;export C_INCLUDE_PATH
++  * copy the global *info* parameter in c1flet and c1labels to prevent
++    accumulation of old data -- FIXME -- make sure there are no other
++    copies required, and eventually replace this global parameter with
++    local variables
++  * Turn on some optimization on hppa, -O only
++  * Make all C defined functions installed into lisp static functions to
++    work around dynamic function descriptors on ia64, Closes: #217484,
++    Closes: #204789, (STATIC_FUNCTION_POINTERS define in config.h)
++
++ -- Camm Maguire <camm@enhanced.com>  Thu,  6 Nov 2003 15:40:25 +0000
++
++gcl (2.6.1-17) unstable; urgency=low
++
++  * Repair weak symbol addition to the bfd symbol table in sfasli.c
++  * Be more thorough about adding fun-info to call-local info in
++    gcl_cmpflet.lsp, accompanying simplifications in gcl_cmpeval.lsp
++    (call-global lists have info updated by args already in (c1args args
++    info)), small changes in add-info in gcl_cmpinline.lsp, FIXME --
++    study rational for *info* special variable in certain places as
++    opposed to more common copy-info
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 30 Oct 2003 20:03:22 -0500
++
++gcl (2.6.1-16) unstable; urgency=low
++
++  * Fix sh syntax in debian/gcl.sh
++  * init_or_load1 -> gcl_init_or_load1 in xgcl-2/sysinit.lsp
++  * Load weak symbols as well as undefined symbols in
++    bfd_build_symbol_table, for the purposes of the static build
++    possibility
++  * Map t and nil stream indicators properly in optimized compiled
++    references to read_char1 and read_byte1 (in read.d)
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 23 Oct 2003 16:43:15 +0000
++
++gcl (2.6.1-15) unstable; urgency=low
++
++  * Remove imod/ifloor functions in cmpaux.c and directly inline their
++    fixed equivalents in gcl_cmpopt.lsp
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 13 Oct 2003 15:04:24 +0000
++
++gcl (2.6.1-14) unstable; urgency=low
++
++  * generate less garbage in add-info (gcl_cmpinline.lsp), enabling
++    maxima compile to complete in a finite time :-)
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 10 Oct 2003 22:14:04 +0000
++
++gcl (2.6.1-13) unstable; urgency=low
++
++  * Fix compiler optimization bug in gcl_cmpopt.lsp -- missing parens
++    around inliner for max and min
++  * collect info structures for local functions in flet and labels
++    processing (gcl_cmpflet.lsp), and pass upwards to call-local and
++    call-global (gcl_cmpeval.lsp) to fix certain inlining bugs in via
++    more proper operation of args-info-changed-vars (gcl_cmpinline.lsp,
++    inline-args, gcl_cmplet.lsp, c2let)
++  * Fix an obviou int overflow in ifloor (o/cmpaux.c), handle more
++    proper fixnum/integer determination from declarations later
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 10 Oct 2003 02:34:11 +0000
++
++gcl (2.6.1-12) unstable; urgency=low
++
++  * Restore mpz_to_mpz{1} in gmp_big.c, can be written by compiler
++  * tk8.4 patches
++  * Prevent destructive modification of bignum arguments in log_op/mp_op
++    in gmp_big.c
++  * Make sure to push stack variables onto newly allocated C variable
++    when inlining args and args cause side effects, in inline-args,
++    gcl_cmpinline.lsp
++  * Fix bug related to gcc-3.3 fixes in set_exponent in num_co.c
++  * Remove pcl_methods.c patch. as is apparently no longer needed, TODO
++    -- make sure VOL modifier is inserted where needed to prevent
++    longjmp clobbers
++
++ -- Camm Maguire <camm@enhanced.com>  Thu,  2 Oct 2003 14:26:43 +0000
++
++gcl (2.6.1-11) unstable; urgency=low
++
++  * Add compilation step of compiling all lsp and cmpnew .lsp files from
++    an interpreted only saved_pre_gcl before the creation of saved_gcl -
++    - this enables us to use full optimization on these files while
++    getting the STREF constants right on 32bit and 64bit
++  * remove 'attic' from comment in gcl_loop.lsp
++  * configure changes for sizeof(struct contblock) detection
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 24 Sep 2003 16:09:44 +0000
++
++gcl (2.6.1-10) unstable; urgency=low
++
++  * Mac OSX GET_FULL_PATH_SELF
++  * Preliminary subtypep checking for 'satisfies
++  * preliminary 'satisfies support in subtypep, more predicate type
++    pairs and reverse checking
++  * small compiler change to remove unused C variables from optimized
++    compiled macros
++  * Optional compiler init file is called gcl_cmpinit
++  * fasdmacros.lsp -> gcl_fasdmacros.lsp
++  * All cmpinit.lsp files named gcl_cmpinit.lsp; allow full lisp
++    optimization in all directories
++  * collectfn -> gcl_collectfn in lsp/gcl_auto.lsp
++  * collectfn -> gcl_collectfn in cmpnew/gcl_make-fn.lsp
++  * Make sure makefiles can generate sys-proclaim.lsp, regenerate these
++    files and recompile from lsp
++  * Rebuild with opts enabled
++  * Iterate sys-proclaim/rebuild generation once more
++  * Iterate sys-proclaim/rebuild for pcl and clcs
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 23 Sep 2003 19:33:27 +0000
++
++gcl (2.6.1-9) unstable; urgency=low
++
++  * Close streams in fasldlsym.c
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 16 Sep 2003 14:57:20 +0000
++
++gcl (2.6.1-8) unstable; urgency=low
++
++  * Add processor flag variable to flags in configure.in
++  * Autoadd full path to kcl_self to enable save-system when user moves
++    executable and calls without script wrapper
++  * Add special variables si::*collect-binary-modules* and si::*binary-
++    modules* as a facility for discovering the list of fasloaded objects
++    preceding a save-system is required for a subsequent compiler::link
++  * Add collectfn.lsp to distro
++  * Rename some files and init_ functions to eliminate namespace
++    conflicts when building images with compiler::link
++  * Enable compressed info reading
++  * Make sure no opt flags are set when enable debug is specified
++  * Use NIFlAGS to compile new_init with lower opts on ppc to work
++    around gcc bug, restore full opts to other files
++
++ -- Camm Maguire <camm@enhanced.com>  Sun, 14 Sep 2003 02:18:28 +0000
++
++gcl (2.6.1-7) unstable; urgency=low
++
++  * Fix permissions bug in temporary gzipped file handling
++  * Propagate control changes correctly with package extension
++  * Newer standards
++
++ -- Camm Maguire <camm@enhanced.com>  Tue,  9 Sep 2003 17:06:56 +0000
++
++gcl (2.6.1-6) unstable; urgency=low
++
++  * Remove build-dependency on autoconf as a temporary work around to
++    Debian autoconf's dependency bug on emacsen-common
++
++ -- Camm Maguire <camm@enhanced.com>  Tue,  9 Sep 2003 15:29:06 +0000
++
++gcl (2.6.1-5) unstable; urgency=low
++
++  * Redefine temporary files in elisp/makefile
++
++ -- Camm Maguire <camm@enhanced.com>  Mon,  8 Sep 2003 21:49:09 +0000
++
++gcl (2.6.1-4) unstable; urgency=low
++
++  * Fix to sfasli.c to avoid defining symbols in other than *UND*
++    sections
++  * Remove some 64 bit warnings
++  * Turn off def_static on ia64 for now -- its broken
++
++ -- Camm Maguire <camm@enhanced.com>  Sat,  6 Sep 2003 17:22:10 +0000
++
++gcl (2.6.1-3) unstable; urgency=low
++
++  * Fix static detection fr ia64; contblock size detection on arm
++  * Fix gcc verion checking in gmp3 subconfigure, esp. for arm
++  * Escape all sgc code with #ifdef SGC
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  5 Sep 2003 21:32:47 +0000
++
++gcl (2.6.1-2) unstable; urgency=low
++
++  * Add windows/install.lsp to clean target
++  * Add in macosx files to stable and cvs head
++  * Fix bad debelper postinst, Closes: #208765
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  5 Sep 2003 13:15:11 +0000
++
++gcl (2.6.1-1) unstable; urgency=low
++
++  * New upstream release
++  * Type-punning warning fixes
++  * small_fixnum overflow fixes
++  * off by one fix in cerror
++  * Fix compiler error which had not recognized defpackage as a package
++    operation
++  * Fix tkl.lisp call to open-named-socket
++  * Make values-list and nreconc signal errors when they should on
++    dotted lists.
++  * Avoid use of windows.h types as macros.
++  * New config.{sub,guess}
++  * Windows installer updates from CVS HEAD
++  * fix potential longjmp clobber in read.d;add some windows files to
++    main makefile clean target;
++  * Darwin revealed fixes to usig.c and unixtime.c
++  * Fix gbc time calculation in case of recursive gbc calls
++  * Run patch_sharp in LSharp_exclamation_reader to handle new case of
++    defpackage ops at head of fasl vector, required for maxima build
++  * Special symbol Dotnil has ordinary list Cnil for plist and hpack
++  * Small fixes for profiling support
++  * Restore pp() function for debugging; print out undefined symbol
++    names
++  * Small patch for fix xgcl demo (thanks  Michael Koehne)
++  * Better bfd symbol table strategy
++  * Fix bfd table symbol counting for combined_table profiling
++  * amd64 linux support
++  * O6 -> O3
++  * static linking on ia64 to work around current mechanism for runtime
++    generated function descriptors
++  * enable-static configure option
++  * Fix debian/gcl-doc.docs for latest texinfo file splitting policy,
++    Closes: #206017
++  * Fix typo in o/sfasli.c
++  * Rework debian package structure to handle stable and cvs packages
++    simultaneously
++  * Add gazonk*.lsp to clean target
++  * syntax fix to lsp/gprof.hc
++  * Add support for SGC contblock pages
++  * Fixes to debian/rules
++  * Remove unused definitions of Vcs
++  * Increase default maxpages and stack sizes
++  * Maintain a persisten *system-directory* binding
++  * Push installed /h directory onto -I flags on cc command line
++  * Escape old in-package behavior with #ifdef ANSI_COMMON_LISP
++  * define HAVE_XDR in linux.h
++  * reduce resolution of contblock mark_table in gbc.c to match new
++    minimum granularity introduced via CPTR_ALIGN
++  * Remove exit function in main.c
++
++ -- Camm Maguire <camm@enhanced.com>  Thu,  4 Sep 2003 02:20:52 +0000
++
++gcl (2.5.3-2) unstable; urgency=low
++
++  * gcc-3.3 all platforms
++
++ -- Camm Maguire <camm@enhanced.com>  Mon,  7 Jul 2003 16:10:25 +0000
++
++gcl (2.5.3-1) unstable; urgency=low
++
++  * New upstream release
++  * Restore object_to_float and object_to_double, cmpaux.c, Closes: #195470.
++  * Remove obsolete functiion multiply-bignum-stack from documentation,
++    si-defs.texi
++  * Unstatic object_to_float, object_to_double
++
++ -- Camm Maguire <camm@enhanced.com>  Mon,  2 Jun 2003 12:38:03 -0400
++
++gcl (2.5.2-1) unstable; urgency=low
++
++  * New upstream release
++  * Cleanup xdrfuns.c for Axiom
++  * Reenable xgcl build
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 20 Mar 2003 09:15:54 -0500
++
++gcl (2.5.1-1) unstable; urgency=high
++
++  * some optimization now on hppa
++  * Add RELEASE-2.5.1 file
++  * Add dedication notice to the memory of W. Schelter
++
++ -- Camm Maguire <camm@enhanced.com>  Sun,  2 Mar 2003 10:20:26 -0500
++
++gcl (2.5.0.cvs20020625-80) unstable; urgency=low
++
++  * enable japi configure flag, defaults to no
++  * enable -mlongcall on ppc when using gcc 3.3 or higher
++  * int -> fixnum in DEFUN function arguments for safety -- ensures
++    pointers and integers passed by lisp are of same size
++  * MYmake_fixnum macro simplification
++  * ufixnum typedef
++  * Prototypes for cmod et.al. -- restoring maxima build on ia64
++  * Fix unaligned access message on ia64 generated by DFLT_aet_fix
++  * Integer va_arg uses fixnum
++  * Define __*i3 symbols used by GCL, supplied by libc, and written into
++    some GCL compiled objects, restores ARM build with ANSI image
++  * num_log.c miscompilation on ia64 apparently fixed, Closes: #156291
++  * Ensure cmpinclude.h up to date in main makefile
++
++ -- Camm Maguire <camm@enhanced.com>  Sat,  1 Mar 2003 17:33:29 -0500
++
++gcl (2.5.0.cvs20020625-79) unstable; urgency=low
++
++  * Fix Debian package install bug
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 27 Feb 2003 23:17:55 -0500
++
++gcl (2.5.0.cvs20020625-78) unstable; urgency=low
++
++  * Add config.log config.status and config.cache to clean target
++  * Remove xgcl-2/debian directory
++  * Update clcs/sys-proclaim.lisp
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 27 Feb 2003 18:48:38 -0500
++
++gcl (2.5.0.cvs20020625-77) unstable; urgency=low
++
++  * Lintian cleanups
++  * Don't strip libansi_gcl.a, need .data at end of .o, as with libgcl.a
++  * Take newlines out of doc string for init-cmp-anon
++  * Cleanup gcc-3.2 compiler warning
++  * 64 bit STREF fixes
++  * pcl and clcs need to have C rebuilt afresh, as 64 bit machines write
++    different STREF offsets into the C files
++  * Rework Debian package build a bit
++  * README.Debian explaining the toggling of the ANSI image
++  * Typo in debian/rules
++  * Remove debian/gcl.conffiles
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 27 Feb 2003 15:56:11 -0500
++
++gcl (2.5.0.cvs20020625-76) unstable; urgency=low
++
++  * Debian Priority is optional
++  * Configure lowest common denominator on m68k to m68020 -- gcc-3.2
++    can't handle m68000 -- no __mulsi3
++  * Fix bit array bug
++  * Add upgraded-array-element-type
++  * Misc typep and subtypep fixes
++  * Proper error handling in certain array.c functions
++  * First needs exactly one arg
++  * Proper error handlin in LAST
++  * bit array allocation fixes in num_log.c
++  * eliminate Iapply_fun_n1
++  * Dummy system find-class in traditional image, overwritten by pcl
++    version in ANSI
++  * Invalid variable is a program error, not a symbol is a type error
++  * Attempt at uninterned symbol support as slot names
++  * defstruct changes for ANSI conc-name handling
++  * Rework ansi build to follow existing pattern for traditional image,
++    enabling preliminary ansi support on dlopen systems
++  * Fix broken mingw probe in main makefile
++  * Rename pcl and clcs files to avoid init name conflict on dlopen
++    systems
++  * sys-proclaim for clcs
++  * Compiler goto indentation
++  * Compiler pointer cast in call_or_link_closure
++  * *keep-gaz* compiler variable to save anonymously generated lisp
++  * si::init-cmp-anon function to initialize anonymously generated and
++    compiled lisp from .text section of running executable
++  * Debian/rules builds and ships both images
++  * Check for small fixnum in make_fixnum macro
++  * Pass real integers to array functions to minimize fixnum garbage
++  * Larger SHARP_EQ_CONTEXT_SIZE in read.d
++  * Shadowing-import instead of import dummy symbols into common-lisp in
++    ansi_cl.lisp
++  * Rework object definition in makefiles
++  * Remove old gmp directory
++  * Remove old tests directory
++  * Reinsert JAPI configuration
++  * Spruce up clean target
++  * Use saved_gcl to recompile cmpnew files
++  * Toggle ansi image with GCL_ANSI environment variable
++  * Version 2.5.1
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 26 Feb 2003 21:31:04 -0500
++
++gcl (2.5.0.cvs20020625-75) unstable; urgency=low
++
++  * Export truename for dlopen systems
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 14 Feb 2003 23:31:15 -0500
++
++gcl (2.5.0.cvs20020625-74) unstable; urgency=low
++
++  * Remove duplicates in apropos a la clisp
++  * Use static where possible, remove unused functions, decrease global
++    symbol count by about 1/3 (~ 600 global functions)
++  * Inline optimize cmod,cplus,ctimes and cdifference like maxima
++  * eliminate make-pure-array from lfun_list.lsp, not defined
++  * Prototypes for all possible compiler generated function calls
++  * relative symlink for cmpinclude.h in Debian package
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 14 Feb 2003 20:17:31 -0500
++
++gcl (2.5.0.cvs20020625-73) unstable; urgency=low
++
++  * typep fixes for class types
++  * m68k Build-depend on gcc-2.95 as a temporary work around to bug
++    179807
++  * gcc-3.2 warning cleanups
++  * bfd_boolean syntax support for newer binutils
++  * gcc-3.2 on powerpc can't yet handle -O2 and higher
++  * Reenable gcc-3.2 for m68k and do some guesswork in configure
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 10 Feb 2003 13:47:00 -0500
++
++gcl (2.5.0.cvs20020625-72) unstable; urgency=high
++
++  * Fix to siLbit_array_op for 0 dimension arrays
++  * Fixed aref of short-float vector
++  * nconc can take dotted lists
++  * tailp returns t if first arg is nil
++  * Repair nconc and tailp fixes
++  * varargs->stdarg for gcc 3.3 and higher
++
++ -- Camm Maguire <camm@enhanced.com>  Sun,  9 Feb 2003 16:57:33 -0500
++
++gcl (2.5.0.cvs20020625-71) unstable; urgency=high
++
++  * ansi changes to sloop.lsp and conditions.lisp to fix symbol tests
++  * :definition-before-pcl -> definition-before-pcl
++  * Allow spaces in pathnames
++  * Significant fixes to gmp_num_log.c affecting bitwise ops on bignums
++  * Fix test segfault arising from faulty structure-type-included-type-
++    name in gcl-low.lisp ; Thanks Peter
++  * aref1 -> row-major-aref
++  * Fixes to certain numerical functions to handle denormalized floating
++    point numbers
++  * Number of argument check in IapplyVector
++  * Print offset bit vectors correctly
++  * Correct precision for formatting short and long doubles
++  * Added si::modf
++  * Do not trigger error in IapplyVector if max args is zero
++  * Fixes to with-package-iterator to cleanup compiler warnings
++  * :invalid-variable is a type error
++  * No max arg checking if &key or &rest present
++  * proper defun declarations in listlib.lsp
++  * class specifiers in typep, subtypep and coerce
++  * Corrections to allow-other-key processing in bind.c
++  * eval sfuns with argument error checking (in one place)
++  * copy-structure takes only one arg
++  * si::classp, si::class-of, and si::class-precedence-list overwritten
++    by pcl analogs when compiling ansi
++  * recompiled core lsp and compiler files
++  * restore dvi and html doc build for non-mingw
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 24 Jan 2003 13:55:11 -0500
++
++gcl (2.5.0.cvs20020625-70) unstable; urgency=high
++
++  * loop fixes
++  * configure fixes
++  * :common-lisp in *features*
++  * :definition-before-clcs -> definition-before-clcs
++  * protect against sgc segfault within fread in fasdump.c -- fixes m68k
++    acl2 build
++  * SGC for s390
++
++ -- Camm Maguire <camm@enhanced.com>  Thu,  5 Dec 2002 08:02:17 -0500
++
++gcl (2.5.0.cvs20020625-69) unstable; urgency=high
++
++  * eval fix
++  * \-mlong-calls for arm
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 25 Nov 2002 08:35:27 -0500
++
++gcl (2.5.0.cvs20020625-68) unstable; urgency=high
++
++  * enable emacsdir configure option
++  * reordered configure X lib detection for solaris
++  * redo integer declarations for gmp bignums to avoid compiler warnings
++  * Clear large and negative count errors for remove/delete
++  * Loop error fixes
++  * cache flush with page granularity on m68k
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 21 Nov 2002 17:44:30 -0500
++
++gcl (2.5.0.cvs20020625-67) unstable; urgency=high
++
++  * Align cache flushes for powerpc and m68k on 32 byte boundaries,
++    should fix acl2 build
++  * Removed diagnostic SIGILL trapping in cmpaux.c
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 12 Nov 2002 23:25:49 -0500
++
++gcl (2.5.0.cvs20020625-66) unstable; urgency=high
++
++  * Fix SIGILL trap in cmpaux.c
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 11 Nov 2002 11:14:07 -0500
++
++gcl (2.5.0.cvs20020625-65) unstable; urgency=high
++
++  * Miscellaneous Freebsd patches
++  * non-recursive with-package-iterator
++  * map-into fill-pointer fixes
++  * changes to the user-init mechanism for portable acl2 build
++
++ -- Camm Maguire <camm@enhanced.com>  Sun, 10 Nov 2002 12:33:59 -0500
++
++gcl (2.5.0.cvs20020625-64) unstable; urgency=low
++
++  * Fix epsilon calculations again to reenable arm build
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  1 Nov 2002 07:08:33 -0500
++
++gcl (2.5.0.cvs20020625-63) unstable; urgency=low
++
++  * Add versioned dependency on the gcc used to build gcl
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 29 Oct 2002 16:20:22 -0500
++
++gcl (2.5.0.cvs20020625-62) unstable; urgency=low
++
++  * with-package-iterator modifications
++  * with-package-iterator uses labels to correctly provide for recursion
++  * Fix doc directory problem with install target in info/makefile
++  * Fix info dir setting in configure
++  * Priority extra
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 28 Oct 2002 23:45:07 -0500
++
++gcl (2.5.0.cvs20020625-61) unstable; urgency=low
++
++  * Placeholder support for optional condition in find-restart
++  * defpackage error on importing non-existent symbols
++  * working with-package-iterator macro
++  * various package errors reported as :package-error
++  * Destructuring-bind fixes
++  * delete-package error fix
++  * pcl functions use pcl-destructuring-bind for now -- fix later
++  * Trigger error if function calls use too many 'values'
++  * Maximum values increased to 50
++  * Enable previously failing tests in multiple-value-{setq,prog1}.lsp
++  * prototype for system_time_zone_helper
++  * Initial changes for solaris support
++  * make -> $(MAKE) in makefiles
++  * Incorporated main GCL (ANSI) Lisp Documentation in distribution
++
++ -- Camm Maguire <camm@m.enhanced.com>  Mon, 28 Oct 2002 04:31:33 -0500
++
++gcl (2.5.0.cvs20020625-60) unstable; urgency=low
++
++  * Still better acosh, courtesy of Barton Willis
++  * Better epsilon contant determination in ieee case
++  * Implicit tagbody in do-symbols and do-all-symbols
++  * Better epsilon handling in ieee case
++  * Add setf (values ... support
++  * invalid-function errors are type errors
++  * ecase and ccase take t and otherwise clauses
++  * ECASE/CCASE test fixes
++  * setf values fixes to use setf instead of setq when target value is
++    not a symbol
++  * ETYPECASE/CTYPECASE can take t and otherwise
++  * Backout of restart-clusters export
++  * fix handler.lisp
++  * Fix to bfd/GBC interaction
++
++ -- Camm Maguire <camm@m.enhanced.com>  Wed, 23 Oct 2002 08:38:08 -0400
++
++gcl (2.5.0.cvs20020625-59) unstable; urgency=low
++
++  * wrong number of arguments, keyword errors in lambda list bindings,
++    are program errors
++  * acosh fix at -1.0
++  * New config.sub and config.guess files and automatic updates in
++    binutils, gmp, and gmp3 subdirs
++
++ -- Camm Maguire <camm@m.enhanced.com>  Wed, 16 Oct 2002 11:38:56 -0400
++
++gcl (2.5.0.cvs20020625-58) unstable; urgency=low
++
++  * GENSYM fixes
++  * add complement and constantly
++  * import certain symbols into common-lisp package
++  * Fix makefile bug in install target
++  * Prepend instead of overwrite C_INCLUDE_PATH in shell wrapper
++  * More shell variable fixes in main makefile
++  * Corrected order of push and pushnew
++  * Set bfd_error appropriately
++  * Report function for package-error in condition-definitions.lisp;fix
++    internal-package-error deinition and handling;export *restart-
++    clusters* to user error code specified in handler-case;package-error
++    error formatting changes;dummy optional argument added to compute-
++    restarts (for now);Paul Dietz patch to defpackage.lsp fixing several
++    tests (thanks);export/unexport error handling fixes
++  * Recompile c,h and data files
++  * Fix number of argument errors in debug.lsp;documentation support for
++    packages in defpackage.lsp and module.lsp;do-symbols loops over
++    inherited symbols too in packlib.lsp
++  * Reworked EXTRAS variable handling in unixport/makefile
++  * Build-depend on autotools-dev and automatic update of config.sub and
++    config.guess;newer config.sub and config.guess in cvs tree; Closes:
++    #164526
++  * Remove stray comments in package.d
++  * elt errors of type type error
++  * bad-sequence limit returns type error
++
++ -- Camm Maguire <camm@m.enhanced.com>  Tue, 15 Oct 2002 15:39:19 -0400
++
++gcl (2.5.0.cvs20020625-57) unstable; urgency=low
++
++  * Capitalization changes to names of special characters;graphic-char-p
++    fix
++  * fix shadowing of existing symbols in package.d
++  * (simple-)base-string not a subtype of (simple-)vector
++  * add package-error condition(preliminary);hash conditions only by the
++    error name, not the format string;pass error types for both
++    correctable and non-correctable situations;eliminate duplicate
++    loading of clcs/package.lisp;Allow t doc-types in documentation
++    (returning nil) for now;fix final type errors in predlib.lsp
++    (regarding base-string);other error functions to pass continuable
++    errors (needs cleaning up);package designators can be
++    characters;delete-package added;make-package doesn't :use lisp by
++    default;in-package returns error if package does not exist instead
++    of making the package(relatively big change -- need to address
++    instances of in-package in .lsp code);call make-package on relevant
++    packages in init_gcl.lsp.in and pcl/sys-package.lisp;
++  * \-ffunction-sections for hppa with no-optimization -- enables first
++    maxima build here
++  * separate lisp variables to specify optimization flags for level 2
++    and 3
++  * symbol-name throws a type error on bad input
++  * tk8.2 -> tk8.3
++  * Fix bug in main makefile
++  * Newlines at end of test files
++
++ -- Camm Maguire <camm@m.enhanced.com>  Wed,  9 Oct 2002 15:04:41 -0400
++
++gcl (2.5.0.cvs20020625-56) unstable; urgency=high
++
++  * ansi-test corrections; extra-libs option to LINK function; LINK doc
++    change; subtypep and string changes to pass more tests
++  * Add method-combination and structure-object symbols for ansi;remove
++    unused variables in debug.lsp;remove in-package system from
++    defstruct.lsp;make-keyword and defmacro temporary function
++    placeholders in destructuring_bind.lsp;predlib changes to fix ansi-
++    test type errors;break-call takes 2 args (sys-proclaim.lisp);char
++    and char-set protected by string dimension not fillpointer in
++    string.d;fix bug in string.d:member_char for vector types;redefine
++    slot reader and writer functions in pcl/impl/gcl/gcl-low.lisp
++
++ -- Camm Maguire <camm@enhanced.com>  Sat,  5 Oct 2002 14:33:46 -0400
++
++gcl (2.5.0.cvs20020625-55) unstable; urgency=high
++
++  * Add LINK documentation to info pages
++  * 0 length last support
++  * make-sequence error check for 'null type and non-zero size
++  * Dotted-list support in member
++  * Reworked dotnil definitions and support macros
++  * add compile-file-pathname
++  * setup C_INCLUDE_PATH env variable in gcl shell wrapper
++  * POSITIVE-FIXNUM variable type,simple-error->type error where
++    indicated by various ansi tests, eq->eql in ldiff and tailp;proper
++    lists only in member et. al.
++  * rev keyword for member1 to reverse test arguments
++  * specific-error function to pass a given type of error from lisp
++  * set-exclusive-or preserves order of test arguments
++  * type-errors where appropriate in make-sequence
++  * nil keys accepted in remove/delete et.al.
++  * Reworked linking command line to ensure that certain symbols are
++    resolved in libgcl.a as opposed to certain system libraries, e.g.
++    gmp
++  * new gmp for m68k;no -ffloat-store for m68k a requested by user due
++    to performance impact (will alter test results in maxima
++    accordingly)
++  * libgclp.a for objects to be overriden by the C library if necessary
++  * readably support
++  * boolean type
++  * Missing ansi type support
++  * subtype code for boolean
++  * add missing ansi types as known types
++  * other preliminary subtype code for missing ansi types
++  * rework result-type check in make-sequence
++  * :element-type support in make-string (preliminary)
++  * (char ignores fill-pointer
++  * remove -O4 from debian/rules
++
++ -- Camm Maguire <camm@enhanced.com>  Thu,  3 Oct 2002 01:52:45 -0400
++
++gcl (2.5.0.cvs20020625-54) unstable; urgency=high
++
++  * Fix delete et. al. :from-end error; typo in gbc.c
++  * character and string-char equal in type hierarchy
++  * concatenate/make-sequence fixes
++  * merge takes nil key argument
++  * make-sequence checks size against result type
++  * install endp macro for dotted list support
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 24 Sep 2002 14:57:44 -0400
++
++gcl (2.5.0.cvs20020625-53) unstable; urgency=high
++
++  * Sleep with (in principle) microsecond precision
++  * nth-value macro added
++  * \-ffloat\-store and warning cleanups for m68k
++  * Compile hppa with debugging, will get a build but a broken one, ok
++    for now, Closes: #159591
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 20 Sep 2002 09:48:35 -0400
++
++gcl (2.5.0.cvs20020625-52) unstable; urgency=high
++
++  * Fixed gcc version bug in debian/rules
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 12 Sep 2002 18:00:50 -0400
++
++gcl (2.5.0.cvs20020625-51) unstable; urgency=high
++
++  * static gmp for m68k
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 12 Sep 2002 09:33:03 -0400
++
++gcl (2.5.0.cvs20020625-50) unstable; urgency=high
++
++  * Reworked static gmp target for new libgcl.a;gcc-3.2 for
++    hppa,ia64,and arm;libgmp2-dev for m68k;no rsym with
++    dynsysbfd;build_symbol_table earlier to shrink table size;
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 12 Sep 2002 00:39:17 -0400
++
++gcl (2.5.0.cvs20020625-49) unstable; urgency=high
++
++  * Use old gmp for m68k until can pin down test failure with gmp3
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 10 Sep 2002 00:36:10 -0400
++
++gcl (2.5.0.cvs20020625-48) unstable; urgency=high
++
++  * Rework build and install so that custom images can be made without
++    the source tree, even when using dlopen
++
++ -- Camm Maguire <camm@enhanced.com>  Mon,  9 Sep 2002 23:26:47 -0400
++
++gcl (2.5.0.cvs20020625-47) unstable; urgency=high
++
++  * Install cmpinclude.h in system include directory
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 29 Aug 2002 23:31:55 -0400
++
++gcl (2.5.0.cvs20020625-46) unstable; urgency=high
++
++  * Keep a *much* smaller piece of gmp.h in cmpinclude.h, reducing image
++    size by almost 100k
++  * Check for _SHORT_LIMB and _LONG_LONG_LIMB in configure
++  * Remove build specific include directories from compile command in
++    final executable
++  * Include local regexp.h explicitly in cmpinclude.h, to eliminate
++    intereference with system regexp.h, and to fix bug in which gcl
++    compilation depended on existing build directories
++  * Correctly add directory paths to extra gmp file targets in
++    unixport/makefile for m68k
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 29 Aug 2002 21:56:28 -0400
++
++gcl (2.5.0.cvs20020625-45) unstable; urgency=high
++
++  * Fix typo in rshift target for m68k
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 28 Aug 2002 18:02:00 -0400
++
++gcl (2.5.0.cvs20020625-44) unstable; urgency=high
++
++  * Handle second argument to last; treat dotted lists correctly in
++    ldiff et. al., tailp fix
++  * optional key argument for assoc-if et.al.;eval getf deflt if in setf
++  * Fix infinite loop in assoc-if et.al.
++  * X_LIBS and X_CFLAGS determination in configure script
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 21 Aug 2002 18:22:37 -0400
++
++gcl (2.5.0.cvs20020625-43) unstable; urgency=high
++
++  * Larger ihs stack;fix array-total-size-limit;check negative
++    fillp;allow #P
++  * don't make common_lisp package when not configuring with --enable-
++    ansi
++  * Patch gmp3/mpn/m68k/{l,r}shift.asm, restore gmp3 to m68k build
++  * Dynamic libgmp support, overriding with patched functions from local
++    source where necessary
++
++ -- Camm Maguire <camm@enhanced.com>  Sun, 18 Aug 2002 12:10:55 -0400
++
++gcl (2.5.0.cvs20020625-42) unstable; urgency=high
++
++  * copy ansidecl.h and symcat.h in h/ for local bfd builds
++  * localize bfd.h includes to sfaslbfd.c
++  * take bfd/po out of the build loop
++  * import xgcl-2, but don't build by default
++  * oldgmp configure option, and made default for m68k as temporary
++    workaround
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 12 Aug 2002 23:49:09 -0400
++
++gcl (2.5.0.cvs20020625-41) unstable; urgency=high
++
++  * Minor rules revision for i164
++
++ -- Camm Maguire <camm@enhanced.com>  Sun, 11 Aug 2002 13:49:03 -0400
++
++gcl (2.5.0.cvs20020625-40) unstable; urgency=high
++
++  * revamp CONST configure test for certain bfd versions
++
++ -- Camm Maguire <camm@enhanced.com>  Sun, 11 Aug 2002 12:31:35 -0400
++
++gcl (2.5.0.cvs20020625-39) unstable; urgency=high
++
++  * gcc-3.1 for ia64 fixes a compilation bug in num_co.c for -O3 and
++    higher -- code takes address of a variable kept in a register
++  * compile num_log.c with -O only on ia64 to work around compiler bug
++
++ -- Camm Maguire <camm@enhanced.com>  Sun, 11 Aug 2002 08:53:03 -0400
++
++gcl (2.5.0.cvs20020625-38) unstable; urgency=high
++
++  * check for long c statck addresses, fixing NULL_OR_ON_C_STACK macro
++    for ia64
++  * Remove error in clean target
++
++ -- Camm Maguire <camm@enhanced.com>  Sat, 10 Aug 2002 13:20:08 -0400
++
++gcl (2.5.0.cvs20020625-37) unstable; urgency=high
++
++  * Replace tmpnam and mktemp with less dangerous mkstemp
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Aug 2002 19:45:52 -0400
++
++gcl (2.5.0.cvs20020625-36) unstable; urgency=high
++
++  * Fix rsym compilation when not using bfd
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Aug 2002 19:10:16 -0400
++
++gcl (2.5.0.cvs20020625-35) unstable; urgency=high
++
++  * Don't build bfd/po subdir
++  * Build-depend on automake and gettext
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Aug 2002 14:36:58 -0400
++
++gcl (2.5.0.cvs20020625-34) unstable; urgency=high
++
++  * fix zero length array support
++  * reverse configure order for bfd and libiberty
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Aug 2002 11:52:38 -0400
++
++gcl (2.5.0.cvs20020625-33) unstable; urgency=high
++
++  * chmod +x for subconfigures
++  * dlopen for appropriate arches in debian/rules
++  * add custreloc configure option
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Aug 2002 10:16:55 -0400
++
++gcl (2.5.0.cvs20020625-32) unstable; urgency=high
++
++  * Local bfd build option to prepare for arch-specific patches
++  * Try default gmp3 build on m68k
++  * Fix merge-pathnames
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  9 Aug 2002 00:13:16 -0400
++
++gcl (2.5.0.cvs20020625-31) unstable; urgency=high
++
++  * #undef bool in object.h for some gcc-3.1 installations
++  * New number_tan implementation using real tan, so optimized compiled
++    code will find symbol in -lm
++
++ -- Camm Maguire <camm@enhanced.com>  Tue,  6 Aug 2002 18:37:52 -0400
++
++gcl (2.5.0.cvs20020625-30) unstable; urgency=high
++
++  * fix bug in cmpif.lsp and recompile compiler
++  * \-O6 \-fomit\-frame\-pointer for Linux, speed gain of ~ 10%
++  * clean saved_gcl_pcl
++
++ -- Camm Maguire <camm@enhanced.com>  Mon,  5 Aug 2002 16:34:33 -0400
++
++gcl (2.5.0.cvs20020625-29) unstable; urgency=high
++
++  * Back out of hppa assembler register flush for hppa, apparently issue
++    is cleared by long/object function declaration fix
++  * Remove ansi2knr.1 man page, Closes: #155067
++  * hppa still has gc leak, possibly due to faulty setjmp.  Try Lamont
++    Jones' latest assembler to flush regs
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  2 Aug 2002 20:50:21 -0400
++
++gcl (2.5.0.cvs20020625-28) unstable; urgency=high
++
++  * SGC support for alpha
++  * generic gmp3 build for m68k
++  * compiler changes to declare all functions as returning object, with
++    functions that actually return long being cast appropriately
++  * back out of m68k hack in eval.c and funlink.c
++
++ -- Camm Maguire <camm@enhanced.com>  Fri,  2 Aug 2002 18:22:04 -0400
++
++gcl (2.5.0.cvs20020625-27) unstable; urgency=high
++
++  * Use generic lshift.c in gmp3 for m68k
++  * use SGC for ia64
++  * m68k workaround, cast (object(*)()) to (long(*)()) in funlink.c and
++    eval.c
++  * GBC register spiil asm for hppa
++  * fix hash_equal declaration error in hash.d
++
++ -- Camm Maguire <camm@enhanced.com>  Thu,  1 Aug 2002 18:12:49 -0400
++
++gcl (2.5.0.cvs20020625-26) unstable; urgency=high
++
++  * Remove extra load of tkl.o in install target of main makefile
++  * gcc-3.1 for hppa
++  * Remove gcc version spec for m68k
++  * \-fPIC for hppa, needed for dlopen
++  * cleanup gcc 3.1 warning in funlink.c
++  * cc instead of ld for -shared linking in fasldlsym.c (needed for
++    hppa)
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 31 Jul 2002 18:46:54 -0400
++
++gcl (2.5.0.cvs20020625-25) unstable; urgency=high
++
++  * Move chmod +x gmp3/* into debian/rules
++  * Remove gclm.bat from Debian package
++  * Build-Depend on autoconf, Closes: #154909
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 31 Jul 2002 09:44:20 -0400
++
++gcl (2.5.0.cvs20020625-24) unstable; urgency=high
++
++  * chmod +x gmp3/configure
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 31 Jul 2002 07:55:17 -0400
++
++gcl (2.5.0.cvs20020625-23) unstable; urgency=high
++
++  * 64bit SGC support
++  * SGC on by default for sparc-linux and mips(el)-linux
++  * Optimized logxor funtion
++  * Check for MP_LIMB_SIZE in fasdump.c, for 64bit support
++  * gbc fix for ia64
++  * gmp3 import for ia64
++  * system bzero, bcmp, and bcopy function prototypes
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 30 Jul 2002 23:11:58 -0400
++
++gcl (2.5.0.cvs20020625-22) unstable; urgency=high
++
++  * ElfW macros in rsym*.c for 64bit
++  * Allow for 8 byte gmp mp_limbs
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 25 Jul 2002 18:52:37 -0400
++
++gcl (2.5.0.cvs20020625-21) unstable; urgency=high
++
++  * Support for dlopen object loading where bfd is not yet working --
++    ./configure --enable-dlopen
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 25 Jul 2002 15:08:05 -0400
++
++gcl (2.5.0.cvs20020625-20) unstable; urgency=high
++
++  * Cleanups for --disable-bfd option
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 24 Jul 2002 15:05:28 -0400
++
++gcl (2.5.0.cvs20020625-19) unstable; urgency=high
++
++  * 64bit fixes
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 24 Jul 2002 12:16:42 -0400
++
++gcl (2.5.0.cvs20020625-18) unstable; urgency=high
++
++  * misc. lintian cleanups, mostly for 64 bit
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 23 Jul 2002 23:35:03 -0400
++
++gcl (2.5.0.cvs20020625-17) unstable; urgency=high
++
++  * Fixed typeo in error.c preventing arm compilation
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 22 Jul 2002 17:18:18 -0400
++
++gcl (2.5.0.cvs20020625-16) unstable; urgency=high
++
++  * Fix bad on_stack_list_vector args
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 22 Jul 2002 16:10:16 -0400
++
++gcl (2.5.0.cvs20020625-15) unstable; urgency=high
++
++  * More lint changes for sundry arches
++  * Fixed bug in Iapply_ap
++
++ -- Camm Maguire <camm@enhanced.com>  Sat, 20 Jul 2002 23:40:33 -0400
++
++gcl (2.5.0.cvs20020625-14) unstable; urgency=high
++
++  * include stdarg.h when defining _GNU_SOURCE
++
++ -- Camm Maguire <camm@enhanced.com>  Sat, 20 Jul 2002 18:47:43 -0400
++
++gcl (2.5.0.cvs20020625-13) unstable; urgency=high
++
++  * Proper va_dcl declarations
++
++ -- Camm Maguire <camm@enhanced.com>  Sat, 20 Jul 2002 10:40:02 -0400
++
++gcl (2.5.0.cvs20020625-12) unstable; urgency=high
++
++  * cvs updates for missing ptrdiff_t
++
++ -- Camm Maguire <camm@enhanced.com>  Sat, 20 Jul 2002 08:41:37 -0400
++
++gcl (2.5.0.cvs20020625-11) unstable; urgency=high
++
++  * cvs changes to compile cleanly with -Wall
++
++ -- Camm Maguire <camm@enhanced.com>  Sat, 20 Jul 2002 02:59:33 -0400
++
++gcl (2.5.0.cvs20020625-10) unstable; urgency=high
++
++  * Architecture any, though still have some issues
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 12 Jul 2002 19:02:09 -0400
++
++gcl (2.5.0.cvs20020625-9) unstable; urgency=high
++
++  * cvs commits for 64bit support
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 12 Jul 2002 18:01:21 -0400
++
++gcl (2.5.0.cvs20020625-8) unstable; urgency=high
++
++  * NULL_OR_ON_C_STACK macro correction for m68k
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 12 Jul 2002 14:37:48 -0400
++
++gcl (2.5.0.cvs20020625-7) unstable; urgency=high
++
++  * arm is bigendian
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 10 Jul 2002 18:04:22 -0400
++
++gcl (2.5.0.cvs20020625-6) unstable; urgency=high
++
++  * cvs updates for arm build
++
++ -- Camm Maguire <camm@enhanced.com>  Tue,  9 Jul 2002 16:09:26 -0400
++
++gcl (2.5.0.cvs20020625-5) unstable; urgency=high
++
++  * CC environment variable setting in debian/rules to aid in porting
++  * gcc 2.95 for m68k
++
++ -- Camm Maguire <camm@enhanced.com>  Sat,  6 Jul 2002 23:00:23 -0400
++
++gcl (2.5.0.cvs20020625-4) unstable; urgency=high
++
++  * gcc 3.0 for arm
++  * cachectl header for m68k
++
++ -- Camm Maguire <camm@enhanced.com>  Mon,  1 Jul 2002 15:47:53 -0400
++
++gcl (2.5.0.cvs20020625-3) unstable; urgency=high
++
++  * Better libbfd detection for arm/alpha
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 26 Jun 2002 17:27:21 -0400
++
++gcl (2.5.0.cvs20020625-2) unstable; urgency=high
++
++  * s390 support
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 25 Jun 2002 21:25:35 -0400
++
++gcl (2.5.0.cvs20020625-1) unstable; urgency=high
++
++  * CVS updates, new s390 arch
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 25 Jun 2002 19:26:36 -0400
++
++gcl (2.5.0.cvs20020610-2) unstable; urgency=high
++
++  * cvs updates
++
++ -- Camm Maguire <camm@enhanced.com>  Thu, 13 Jun 2002 08:42:32 -0400
++
++gcl (2.5.0.cvs20020610-1) unstable; urgency=high
++
++  * cvs updates
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 12 Jun 2002 23:04:57 -0400
++
++gcl (2.5.0.cvs20020523-2) unstable; urgency=high
++
++  * configure updates for better tk detection
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 24 May 2002 18:50:22 -0400
++
++gcl (2.5.0.cvs20020523-1) unstable; urgency=high
++
++  * New upstream release
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 24 May 2002 18:50:22 -0400
++
++gcl (2.5.0.cvs20020429-1) unstable; urgency=high
++
++  * Build-Depend on tk8.2-dev, Closes: #144330
++  * New cvs updates
++  * Added sparc to arch list, Closes: #143465
++
++ -- Camm Maguire <camm@enhanced.com>  Mon, 29 Apr 2002 23:07:36 -0400
++
++gcl (2.5.0.cvs20020219-2) unstable; urgency=medium
++
++  * flavor ->debian-emacs-flavor in emacsen-startup
++
++ -- Camm Maguire <camm@enhanced.com>  Mon,  4 Mar 2002 14:29:59 -0500
++
++gcl (2.5.0.cvs20020219-1) unstable; urgency=medium
++
++  * Updated package descriptions, Closes: #134402
++  * Static linking of libbfd, Closes: #134647
++  * Gcl currently only available on i386, arm and m68k as specified in
++    the Architecture control field, Closes: #133912
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 19 Feb 2002 12:04:29 -0500
++
++gcl (2.5.0.cvs-3) unstable; urgency=medium
++
++  * Build-depend on texi2html, Closes: #133699
++
++ -- Camm Maguire <camm@enhanced.com>  Wed, 13 Feb 2002 16:22:35 -0500
++
++gcl (2.5.0.cvs-2) unstable; urgency=medium
++
++  * Put in versioned dependency on binutils for libbfd support, rebuilt
++    with latest binutils, Closes: #133004
++
++ -- Camm Maguire <camm@enhanced.com>  Tue, 12 Feb 2002 13:19:12 -0500
++
++gcl (2.5.0.cvs-1) unstable; urgency=medium
++
++  * Latest patches from CVS, enabling libbfd relocations, among other
++    things
++  * /etc/emacs/site-start.d/50gcl.el as conffile, Closes: #132137
++  * limited arm and m68k support
++
++ -- Camm Maguire <camm@enhanced.com>  Mon,  4 Feb 2002 09:32:29 -0500
++
++gcl (2.5.0-1) unstable; urgency=medium
++
++  * New maintainer
++  * New upstream release
++  * New release so far builds only on i386, Closes: #116070, Closes:
++    #123371
++  * New release so far builds only on i386, Closes: #115041
++  * Gcl must currently use its own copy of gmp, as the upstream version
++    of gmp uses malloc, which interferes with gcl's garbage collection
++    and relocation scheme.  The change from malloc to alloca has been
++    suggested to upstream gmp developers. Closes: #108910
++  * Tcl/Tk support now in. Closes: #113197
++
++ -- Camm Maguire <camm@enhanced.com>  Fri, 21 Dec 2001 00:03:43 -0500
++
++gcl (2.4.0-3) unstable; urgency=medium
++
++  * Make gcl use libgmp3 package. (closes: #108910)
++  * Remove tk support. (closes: #108909)
++  * Fix stupid missing dependency line. (closes: #108907, #108908)
++  * Removed readme.mingw from the debian package, this package is not compiled under
++    mingw (windows gcc port).
++  * Close ITA bug. (closes: #112312)
++
++ -- Baruch Even <baruch@debian.org>  Sat, 22 Sep 2001 00:27:14 +0300
++
++gcl (2.4.0-2) unstable; urgency=low
++
++  * Change tclsh Build-Depends to tcl8.0 because apt is broken. (closes: #99261)
++
++ -- JP Sugarbroad <taral@taral.net>  Wed, 30 May 2001 14:34:53 -0500
++
++gcl (2.4.0-1) unstable; urgency=low
++
++  * New upstream release
++
++ -- JP Sugarbroad <taral@taral.net>  Sun, 13 May 2001 20:31:01 -0500
++
++gcl (2.3.7+beta3-3) unstable; urgency=low
++
++  * Move gcl-doc to section doc (closes: #78666)
++
++ -- JP Sugarbroad <taral@taral.net>  Sun, 13 May 2001 20:26:28 -0500
++
++gcl (2.3.7+beta3-2) unstable; urgency=low
++
++  * Remove alpha from arch list
++  * Move tcl/tk from Depends to Suggests
++
++ -- JP Sugarbroad <taral@taral.net>  Fri,  4 May 2001 16:24:11 -0500
++
++gcl (2.3.7+beta3-1) unstable; urgency=low
++
++  * New maintainer
++  * Repackaged with debhelper (closes: #42045, #86097, #91475, #91478)
++  * New upstream release (closes: #59577, #71096)
++  * Added sparc+alpha, removed m68k (closes: #87407)
++
++ -- JP Sugarbroad <taral@taral.net>  Mon, 30 Apr 2001 19:07:49 -0500
++
++gcl (2.2.1-6) unstable; urgency=low
++
++  * Disable stripping of "saved_gcl" binary. (#45778)
++
++ -- Steve Dunham <dunham@debian.org>  Fri, 24 Sep 1999 14:39:15 -0400
++
++gcl (2.2.1-5) unstable; urgency=low
++
++  * Fix m68k build
++
++ -- Steve Dunham <dunham@debian.org>  Tue,  6 Jul 1999 09:45:09 -0400
++
++gcl (2.2.1-4) unstable; urgency=low
++
++  * Fix bug #31718
++
++ -- Steve Dunham <dunham@debian.org>  Fri,  2 Jul 1999 11:11:12 -0400
++
++gcl (2.2.1-3) unstable; urgency=low
++
++  * Add m68k patches
++
++ -- Steve Dunham <dunham@debian.org>  Wed, 16 Dec 1998 14:25:46 -0500
++
++gcl (2.2.1-2) unstable; urgency=low
++
++  * Compile against libc6.  New maintainer.
++
++ -- Steve Dunham <dunham@cps.msu.edu>  Wed,  5 Nov 1997 10:09:12 -0500
++
++gcl (2.2.1-1) unstable; urgency=low
++
++  * New upstream release; suggests tcl76, tk42.
++  * gcl-doc contains gcl-si and gcl-tk info pages.
++  * debian/rules: clean target removes temporary files from h and o
++    subdirectories (bug #5984).
++
++ -- Karl Sackett <krs@debian.org>  Fri, 3 Jan 1997 10:16:40 -0600
++
++gcl (2.2-5) unstable; urgency=low
++
++  * Converted package to 2.1.1.0 standard.
++  * Stripped gcltkaux (bug #5074).
++  * gcl-si and gcl-tk info pages converted to HTML.
++
++ -- Karl Sackett <krs@debian.org>  Tue, 5 Nov 1996 13:30:30 -0600
++
++2.2-4
++        * add-defs: patched locates for tk.tcl, init.tcl 
++        * gcl-tk/tkAppInit.c: patched for tk4.1 support
++        * gcl-tk/tkMain.c: patched for tk4.1 support
++2.2-3
++        * Debian support files now partily architecture independent.
++          There are, however, no add-defs files except for 386-linux.
++        * Rebuilt package to correct corrupted upload problem.
++2.2-2
++        * Removed tk support from distribution.  This was written to
++          use tk-3.6 and doesn't support tk-4.0 or tk-4.1.  I am not aware
++          of any plans to upgrade the code. (Closes bug #2865)
++2.2-1
++        * Added Debian support files
++        * h/386-linux.defs: set OFLAG = -O2
++        * h/386-linux.h: undid patch that swaped signal.h for sigcontext.h
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4991e92a723efe3ef7a26490c607ee01dd3a4ca0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,82 @@@
++Source: gcl27
++Section: lisp
++Priority: optional
++Maintainer: Camm Maguire <camm@debian.org>
++Homepage: http://gnu.org/software/gcl
++Build-Depends: debhelper-compat (= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, texinfo, texlive-latex-extra, texlive-fonts-recommended, libtirpc-dev
++Build-Depends-Indep: dh-elpa
++Standards-Version: 4.5.0
++
++Package: gcl27
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, ucf, libtirpc-dev
++Suggests: gcl27-doc
++Description: GNU Common Lisp compiler
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains the Lisp system itself.  Documentation 
++ is provided in the gcl-doc package.
++
++Package: gcl27-tk
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, gcl27 (>= ${source:Version})
++Description: GNU Common Lisp compiler
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains a graphical interface based on the popular
++ TCL/TK toolkit.
++
++Package: elpa-gcl27
++Architecture: all
++Depends: gcl27 (>= ${source:Version}), emacs-gtk | emacsen, ${misc:Depends}
++Section: lisp
++Description: GNU Common Lisp compiler
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains an emacs interface to GCL.
++
++Package: gcl27-doc
++Section: doc
++Architecture: all
++Conflicts: gclinfo
++Replaces: gclinfo
++Depends: dpkg (>= 1.15.4), ${misc:Depends}
++Multi-Arch: foreign
++Description: Documentation for GNU Common Lisp
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains documentation in info format of the
++ system internals.
++
++Package: gcl27-tk-doc
++Section: doc
++Architecture: all
++Conflicts: gclinfo
++Replaces: gclinfo
++Depends: dpkg (>= 1.15.4), ${misc:Depends}
++Multi-Arch: foreign
++Description: Documentation for GNU Common Lisp
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains documentation in info format of the
++ graphical interface currently implemented in Tcl/Tk.
diff --cc debian/control_
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..48ac25b48e0f659624a48c5d5d8c1cb6061c05c3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,39 @@@
++Source: gcl
++Section: lisp
++Priority: optional
++Maintainer: Camm Maguire <camm@debian.org>
++Homepage: http://gnu.org/software/gcl
++Build-Depends: debhelper (>= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, texinfo
++Standards-Version: 4.5.0
++
++Package: gcl
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, ${gcc}, emacs | emacsen, ucf
++Breaks: emacsen-common (<< 2.0.0)
++Suggests: gcl-doc
++Description: GNU Common Lisp compiler
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains the Lisp system itself.  Documentation 
++ is provided in the gcl-doc package.
++
++Package: gcl-doc
++Section: doc
++Architecture: all
++Conflicts: gclinfo
++Replaces: gclinfo
++Depends: dpkg (>= 1.15.4), ${misc:Depends}
++Description: Documentation for GNU Common Lisp
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains Documentation in info format of both the
++ system internals, as well as the graphical interface currently
++ implemented in Tcl/Tk.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4991e92a723efe3ef7a26490c607ee01dd3a4ca0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,82 @@@
++Source: gcl27
++Section: lisp
++Priority: optional
++Maintainer: Camm Maguire <camm@debian.org>
++Homepage: http://gnu.org/software/gcl
++Build-Depends: debhelper-compat (= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, texinfo, texlive-latex-extra, texlive-fonts-recommended, libtirpc-dev
++Build-Depends-Indep: dh-elpa
++Standards-Version: 4.5.0
++
++Package: gcl27
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, ucf, libtirpc-dev
++Suggests: gcl27-doc
++Description: GNU Common Lisp compiler
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains the Lisp system itself.  Documentation 
++ is provided in the gcl-doc package.
++
++Package: gcl27-tk
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, gcl27 (>= ${source:Version})
++Description: GNU Common Lisp compiler
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains a graphical interface based on the popular
++ TCL/TK toolkit.
++
++Package: elpa-gcl27
++Architecture: all
++Depends: gcl27 (>= ${source:Version}), emacs-gtk | emacsen, ${misc:Depends}
++Section: lisp
++Description: GNU Common Lisp compiler
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains an emacs interface to GCL.
++
++Package: gcl27-doc
++Section: doc
++Architecture: all
++Conflicts: gclinfo
++Replaces: gclinfo
++Depends: dpkg (>= 1.15.4), ${misc:Depends}
++Multi-Arch: foreign
++Description: Documentation for GNU Common Lisp
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains documentation in info format of the
++ system internals.
++
++Package: gcl27-tk-doc
++Section: doc
++Architecture: all
++Conflicts: gclinfo
++Replaces: gclinfo
++Depends: dpkg (>= 1.15.4), ${misc:Depends}
++Multi-Arch: foreign
++Description: Documentation for GNU Common Lisp
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains documentation in info format of the
++ graphical interface currently implemented in Tcl/Tk.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ee7f6e1f80dd18b5d8386665f9c1ab73dd73ffc1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,39 @@@
++Source: gclcvs
++Section: lisp
++Priority: optional
++Maintainer: Camm Maguire <camm@debian.org>
++Homepage: http://gnu.org/software/gcl
++Build-Depends: debhelper (>= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, gcc-11
++Standards-Version: 4.5.0
++
++Package: gclcvs
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, ${gcc}, emacs | emacsen, ucf
++Breaks: emacsen-common (<< 2.0.0)
++Suggests: gclcvs-doc
++Description: GNU Common Lisp compiler, CVS snapshot
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains the Lisp system itself.  Documentation 
++ is provided in the gclcvs-doc package.
++
++Package: gclcvs-doc
++Section: doc
++Architecture: all
++Conflicts: gclinfo
++Replaces: gclinfo
++Depends: dpkg (>= 1.15.4), ${misc:Depends}
++Description: Documentation for GNU Common Lisp, CVS snapshot
++ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
++ implemented in C, and complying mostly with the standard set 
++ forth in the book "Common Lisp, the Language I".  It attempts
++ to strike a useful middle ground in performance and portability
++ from its design around C.
++ .
++ This package contains Documentation in info format of both the
++ system internals, as well as the graphical interface currently
++ implemented in Tcl/Tk.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fd70c5ac1b83c40918b243668790c1ce49a7ebda
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,97 @@@
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++
++Files: *
++Copyright: 1989 The University of Texas at Austin,William F. Schelter
++         1989 Free Software Foundation
++         2024 Camm Maguire
++License: LGPL-2
++
++Files: cmpnew/*
++Copyright: 1989 The University of Texas at Austin,William F. Schelter
++         1994 M. Hagiya,T. Yuasa,William F. Schelter
++         2024 Camm Maguire
++License: LGPL-2
++
++Files: elisp/*
++Copyright: 1994,1998 William F. Schelter
++         1985-1988 Free Software Foundation
++License: GPL-2
++
++Files: gcl-tk/*
++Copyright: 1994 Rami el Charif,William F. Schelter
++         1996 Sun Microsystems
++         2024 Camm Maguire
++License: LGPL-2
++
++Files: h/*
++Copyright: 1994 M. Hagiya,T. Yuasa,William F. Schelter
++         2024 Camm Maguire
++License: LGPL-2
++
++Files: debian/*
++Copyright: 2024 Camm Maguire
++License: GPL-2
++
++Files: ansi-tests/*
++Copyright: 2004 Paul Dietz
++License: LGPL-2
++
++Files: ansi-tests/rt.lsp
++Copyright: 1990 Massachusetts Institute of Technology
++License: public-domain
++
++Files: info/*
++Copyright: 1994 William F. Schelter
++License: GPL-2
++
++Files: lsp/*
++Copyright: 1994 M. Hagiya,T. Yuasa,William F. Schelter
++         1985,1986,1989,1990 William F. Schelter
++         2024 Camm Maguire
++License: LGPL-2
++
++Files: mod/gcl_defpackage.lsp
++Copyright: 1990,1991 lsp The Boeing Company
++         2024 Camm Maguire
++License: public-domain
++
++Files: o/*
++Copyright: 1994 M. Hagiya,T. Yuasa,William F. Schelter,Rami el Charif
++         1991 William F. Schelter
++         1985-1994 Free Software Foundation
++         2024 Camm Maguire
++License: LGPL-2
++
++Files: o/gcl_readline.d
++Copyright: 2000 Tuukka Toivonen
++         2024 Camm Maguire
++License: LGPL-2
++
++Files: pcl/*
++Copyright: 1985-1990 Xerox Corporation
++         1990 Franz Inc.
++         2024 Camm Maguire
++License: public-domain
++
++Files: xgcl-2/*
++Copyright: 1987 Digital Equipment Corporation,Massachusetts Institute of Technology
++         1994 Hiep Huu Nguyen,William F. Schelter,The University of Texas at Austin
++         1994,1995,1996,2006,2007,2008,2010 Gordon S. Novak Jr.,The University of Texas at Austin
++         1992 The University of Texas at Austin
++         1989 Free Software Foundation
++         2006 Hiep Huu Nguyen
++         2024 Camm Maguire
++License: GPL-2
++
++License: GPL-2
++ On Debian GNU/Linux systems, the complete text of the GNU General
++ Public License Version 2 can be found in
++ /usr/share/common-licenses/GPL-2.
++
++License: LGPL-2
++ On Debian GNU/Linux systems, the complete text of the GNU General
++ Public License Version 2 can be found in
++ /usr/share/common-licenses/LGPL-2.
++
++License: public-domain
++ All permissions granted.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ebf323f6ee9c229ad0163172a251384987948d70
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++;;;###autoload
++(autoload 'run "gcl" "" t)
++;;;###autoload
++(autoload 'dbl "dbl" "" t)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2dfc613ee12e84a0ff2807ec74db803eb0811376
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++
++(define-package "gcl@EXT@" "@VR@"
++  "Emacs mode for running GCL.")
diff --cc debian/gcl.sh
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b172b72258f26b0781483ed7accc43040098787b
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,33 @@@
++#!/bin/sh
++
++EXT=@EXT@
++VERS=@VERS@
++
++. /etc/default/gcl$EXT
++if ! set | grep -q -w GCL_ANSI ; then GCL_ANSI=$DEFAULT_GCL_ANSI ; fi
++if ! set | grep -q -w GCL_PROF ; then GCL_PROF=$DEFAULT_GCL_PROF ; fi
++
++DIR=/usr/lib/gcl-$VERS;
++
++if [ "$GCL_ANSI" = "" ] ; then 
++    if [ "$GCL_PROF" = "" ] ; then
++      EXE=saved_gcl;
++    else
++      EXE=saved_gcl_gprof;
++    fi
++else
++    if [ "$GCL_PROF" = "" ] ; then
++      EXE=saved_ansi_gcl;
++    else
++      EXE=saved_ansi_gcl_gprof;
++    fi
++fi
++SYS=$DIR/unixport
++
++exec $SYS/$EXE -dir $SYS/ -libdir $DIR/ \
++   -eval '(setq si::*allow-gzipped-file* t)' \
++   -eval '(setq si::*tk-library* "/usr/lib/tk@TKVERS@")' \
++   -eval '(setq si::*default-info-files* (list "gcl@EXT@-si.info" "gcl@EXT@-tk.info" "gcl@EXT@.info"))' \
++     "$@"
++
++# other options: -load /tmp/foo.o -load jo.lsp -eval "(joe 3)"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..be351d0f69acf644ede271d5fece5c7b5290246d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,26 @@@
++Template: gcl27/default_gcl_ansi
++Type: boolean
++_Description: Use the work-in-progress ANSI build by default?
++ GCL is in the process of providing an ANSI compliant image in addition to
++ its traditional CLtL1 image still in production use.  Please see the
++ README.Debian file for a brief description of these terms.  Setting this
++ variable will determine which image you will use by default on executing
++ 'gcl27'.  You can locally override this choice by setting the GCL_ANSI
++ environment variable to any string but "no" for the ANSI build, and to
++ "no" for the CLtL1 build, e.g. GCL_ANSI=t gcl27.  The
++ flavor of the build in force will be reported in the initial startup
++ banner.
++
++Template: gcl27/default_gcl_prof
++Type: boolean
++_Description: Use the profiling build by default?
++ GCL now has optional support for profiling via gprof.  Please see the
++ documentation
++ for si::gprof-start and si::gprof-quit for details. As this build is slower
++ than builds without gprof support, it is not recommended for final production use.
++ You can locally override the default choice made here
++ by setting the
++ GCL_PROF environment variable to any non-empty string for profiling
++ support, and to the empty string for the more optimized builds, e.g.
++ GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in
++ the initial startup banner.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e91b64732b660148d8254be0df54f8e8092735b6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,146 @@@
++#!/bin/sh
++ 
++progname=$(basename $0)
++clc_src=/usr/share/common-lisp/source
++
++if test ! -f $clc_src/common-lisp-controller/common-lisp-controller.lisp ; then
++    echo "Cannot find common-lisp-controller." 1>&2
++    echo "Please report this as a bug." 1>&2
++    exit 1
++fi
++
++export GCL_ANSI=true
++gcl_bin=/usr/bin/gcl@EXT@ # is better than $(which gcl)
++
++command=$1
++shift
++
++build_error()
++{
++      echo "Error building $1" 1>&2
++      exit 1
++}
++
++if [ "$command" = "make-user-image" ] ; then
++    echo $progname Building image with $1 ...
++    if test ! -r $1; then 
++      echo "Trying to make user image: Cannot access file $1" 1>&2
++      exit 1
++    fi 
++    
++    $gcl_bin <<!MAKE_USER_IMAGE!
++(progn    
++  (load \"$1\") 
++  (si:save-system
++    (make-pathname :name \"gcl@EXT@_$1_image\"  :defaults (user-homedir-pathname)))
++  (quit 1))" || build_error $1
++!MAKE_USER_IMAGE!
++    test $? = 0 || build_error make-user-image
++    exit 0
++fi
++
++for PROF in n y; do
++    
++    if [ "$PROF" = "y" ] ; then
++      export GCL_PROF=t
++    else
++      export GCL_PROF=
++    fi
++
++    if [ -f $gcl_bin ] ; then
++      image=$($gcl_bin -batch -eval '(princ (namestring (merge-pathnames (make-pathname :name "saved_clc_gcl") (pathname si:*system-directory*))))'</dev/null)
++      gcl_clc=$($gcl_bin -batch -eval '(princ (namestring (make-pathname :directory (append (pathname-directory (pathname "/usr/lib/common-lisp/")) (last (pathname-directory (pathname si::*lib-directory*)))))))'</dev/null)
++    else
++      echo "Cannot find gcl." 1>&2
++      exit 1
++    fi
++
++    case $command in
++      rebuild)
++          while test -x $gcl_bin -a -n "$1"
++            do
++            echo $progname Rebuilding $1 ...
++            echo '
++              (setq *compile-print* t)
++              (setq *compile-verbose* t)
++              (setq *load-verbose* t)
++              (setq *require-verbose* t)
++              (ignore-errors (clc:compile-library (quote '"$1"'))
++                  (lisp:quit 0))
++              (lisp:quit 1)
++              ' | $gcl_bin || build_error $1
++            shift
++          done 
++          ;;
++
++      remove)
++          while test -n "$1"
++            do
++            echo $progname Removing $1
++            rm -rf "${gcl_clc}$1"
++            shift
++          done
++          ;;
++      
++      install-clc)
++          if ! [ -e /etc/default/$(basename $gcl_bin) ] ; then
++              echo $(basename $gcl_bin) not configured, aborting
++              exit 5
++          fi
++          echo $progname Uninstalling clc image and purging object cache ...
++          test -x $gcl_bin || {
++              echo "Cannot install as there is no GCL"
++              exit -1
++          }
++          rm -rf $gcl_clc
++          mkdir -p $gcl_clc
++#         chown cl-builder.cl-builder $gcl_clc
++          
++          rm -f $image
++
++          echo $progname Installing clc as $image ...
++          if test -x $gcl_bin; then
++              $gcl_bin <<!INSTALL_CLC!
++(in-package :common-lisp-user)
++(load "$clc_src/common-lisp-controller/common-lisp-controller.lisp")
++
++(in-package :common-lisp-controller)
++(init-common-lisp-controller-v4 "$(basename $gcl_clc)")
++
++(when (probe-file "/etc/lisp-config.lisp")
++  (load "/etc/lisp-config.lisp"))
++
++(si:save-system "$image"))
++!INSTALL_CLC!
++              test $? = 0 || build_error send-clc-command
++          fi
++          ;;
++
++      remove-clc)
++          echo $progname Uninstalling clc and restoring pristine orig image ...
++          rm -f $image
++          ;;
++      
++      purge-clc)
++          echo $progname Uninstalling clc image and purging object cache ...
++          rm -f $image
++          rm -rf $gcl_clc
++          ;;
++
++      *)
++          expr $command : '.*\(help\).*' > /dev/null 2>&1 || \
++              echo "$progname: Unknown command '$command'" 1>&2
++          echo "Usage: $progname <command>" 1>&2 
++          echo "Where <command> is one of:" 1>&2
++          echo "  install-clc, remove-clc," 1>&2
++          echo "  rebuild <package>*, remove <package>*," 1>&2
++          echo "  or make-user-image <load-file>" 1>&2
++          echo "And <package> is a cl-debpkg (e.g. cl-rt)" 1>&2
++          echo "  with a defsystem/asdf definition." 1>&2
++          exit 1
++          ;;
++    esac
++    
++done
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b8d01a66fc9ccd21dc6a12c2a64e729b353ce0b0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++New in 2.6.2
++------------
++
++The gcl.texi files and the resulting html, info, and pdf outputs have
++been removed pending an enquiry into the copyright and license status
++of the dpANS documents upon which they are presumably based.
++
++
++ -- Camm Maguire <camm@debian.org>, Fri,  9 May 2014 19:08:59 +0000
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fa8c869541e01e177897623ab48ef67e9af1c9a0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Document: gcl@EXT@-doc
++Title: GNU Common Lisp Documentation
++Author: W. Schelter
++Abstract: A Common Lisp compiler and interpreter based on C
++Section: Programming
++
++Format: DVI
++Files: /usr/share/doc/gcl@EXT@/gcl@EXT@.dvi.gz
++
++Format: PDF
++Files: /usr/share/doc/gcl@EXT@/gcl@EXT@.pdf.gz
++
++Format: HTML
++Index: /usr/share/doc/gcl@EXT@/gcl@EXT@.html/index.html
++Files: /usr/share/doc/gcl@EXT@/gcl@EXT@.html/*.html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7760ae1f5d88c169004e6dd69499b5d0a0b514eb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Document: gcl@EXT@-si-doc
++Title: GNU Common Lisp Documentation -- System Internals 
++Author: W. Schelter
++Abstract: Documentation on GCL-specific Lisp system functions
++Section: Programming
++
++Format: DVI
++Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.dvi.gz
++
++Format: PDF
++Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.pdf.gz
++
++Format: HTML
++Index: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.html/index.html
++Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.html/*.html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..447671a550640adf86b6a7404d7e863abf4f2835
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Document: gcl@EXT@-xgcl-doc
++Title: GNU Common Lisp Documentation -- System Internals 
++Author: W. Schelter
++Abstract: Documentation on GCL-specific Lisp system functions
++Section: Programming
++
++Format: DVI
++Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.dvi.gz
++
++Format: PDF
++Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.pdf.gz
++
++Format: HTML
++Index: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.html/index.html
++Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.html/*.html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e845566c06f9bf557d35e8292c37cf05d97a9769
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++README
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9b70ccb6be9f423c6e9fd6d42a52548ed8411758
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++debian/tmp/usr/share/info/gcl@EXT@-si.info*
++debian/tmp/usr/share/info/gcl@EXT@.info*
++debian/tmp/usr/share/info/gcl@EXT@-dwdoc.info*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b7b65aec6a8486ae3de117be1541121528687ea0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@.dvi
++debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@.html
++debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@.pdf
++debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-si.dvi
++debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-si.html
++debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-si.pdf
++debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.dvi
++debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.html
++debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.pdf
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..880e51f4541c6347c7644fa039b3d18c4b52bd5b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Document: gcl@EXT@-tk-doc
++Title: GNU Common Lisp Tk Interface Documentation
++Author: W. Schelter
++Abstract: Documentation for Graphical Interface to GCL using TCL/Tk
++Section: Programming
++
++Format: DVI
++Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk*.dvi.gz
++
++Format: PDF
++Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk*.pdf.gz
++
++Format: HTML
++Index: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk.html/index.html
++Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk.html/*.html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a46a498d590a340e6cce80f7b95ed20b34cfde1e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/tmp/usr/share/info/gcl@EXT@-tk.info*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..82087dacd1697f2468758a16e5accf76c530906f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++debian/tmp/usr/share/doc/gcl@EXT@/gcl27-tk.dvi
++debian/tmp/usr/share/doc/gcl@EXT@/gcl27-tk.html
++debian/tmp/usr/share/doc/gcl@EXT@/gcl27-tk.pdf
++debian/tmp/usr/share/doc/gcl@EXT@/gcl-tk
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e7adf46bf8877cd93f4482d1a748c82740f9e66f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/tmp/usr/lib/gcl-@VERS@/gcl-tk
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3f007553a5b66f9f77233241e47501dad6fe92d3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# FIXME
++gcl@EXT@-tk: hardening-no-pie [usr/lib/gcl-@VERS@/gcl-tk/gcltkaux]
diff --cc debian/in.gcl.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5f92f04f56dbb6999f4101c53ee3d16dc4e27297
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,242 @@@
++.TH GCL 1L "17 March 1997"
++.SH NAME
++gcl@EXT@ \- GCL Common Lisp interpreter/compiler
++.SH SYNOPSIS
++.B gcl@EXT@
++[
++.B options
++]
++
++.SH DESCRIPTION
++
++The program
++.I gcl@EXT@
++is an implementation of a subset of the Common Lisp Ansi standard.
++It is written in C and in Common Lisp, and is highly portable.   It
++includes those features in the original definition of Common Lisp,
++(Guy Steele version 1.), as well as some features from the proposed
++new standard.
++.LP
++The best documentation is available in
++.I texinfo/info
++form, with there being three groups of information.
++.I gcl@EXT@-si
++for basic common lisp descriptions, and features unique to
++.I gcl@EXT@
++The
++.I gcl@EXT@-tk
++info refers to the connection with
++.I tk
++window system, allowing all the power of the
++.I tcl/tk
++interaction system to be used from lisp.
++The third info file
++.I gcl@EXT@
++details the Ansi standard for common lisp, to which this subset
++tries to adhere.   It is highly recommended to write programs,
++which will be in the intersection of gcl and ansi common lisp.
++Unfortunately the Ansi standard is huge, and will require a substantial
++effort, and increase in the size of gcl, to include all of it.
++.LP
++When
++.I gcl@EXT@
++is invoked from the shell, the variable
++.I si::*command-args*
++is set to the list of command line arguments.
++Various
++.I options
++are understood:
++.TP
++.BR \-eval\ command 
++.RB
++Call read and then eval on the
++.I command passed in.
++.TP
++.BR \-load\ pathname
++.RB
++Load the file whose
++.I pathname
++is specified after
++.BR \-load .
++.TP
++.B \-f
++Replace si::*command-args* by the the list starting after
++.BR \-f .
++Open the file following
++.BR \-f  for input, skip the first line, and
++then read and eval the rest of the forms in the file.   This can
++be used as with the shells to write small shell programs:
++
++.LP
++.br
++#!/usr/local/bin/gcl.exe -f
++.br
++(format t "hello world ~a~%" (nth 1 si::*command-args*))
++
++.BR
++The value
++.I si::*command-args*
++will have the appropriate value.
++Thus if the above 2 line file is made executable and called
++.I foo
++then
++
++.LP
++.LP
++.br
++tutorial% foo billy
++.br
++hello world billy
++
++.BR
++NOTE:  On many systems (eg SunOs) the first line of an executable
++script file such as:
++.BR
++#!/usr/local/bin/gcl.exe -f
++only reads the first 32 characters!   So if your pathname where
++the executable together with the '-f' amount to more than 32
++characters the file will not be recognized.   Also the executable
++must be the actual large binary file, [or a link to it], and not
++just a
++.I /bin/sh
++script.   In latter case the
++.I /bin/sh
++interpreter would get invoked on the file.
++
++Alternately one could invoke the file
++.I foo
++without making it
++executable:
++.LP
++.LP
++.br
++tutorial% gcl@EXT@ -f foo "from bill"
++.br
++hello world from bill
++
++.TP
++.B \-batch
++.RB
++Do not enter the command print loop.  Useful if the other command
++line arguments do something.  Do not print the License and
++acknowledgement information.  Note if your program does print any
++License information, it must print the GCL header information also.
++
++.TP
++.B \-dir
++.RB
++Directory where the executable binary that is running is located.
++Needed by save and friends.  This gets set as
++si::*system-directory*
++
++.TP
++.B \-libdir
++.RB
++.BR \-libdir
++.I /d/wfs/gcl-2.0/
++.RB
++
++would mean that the files like gcl-tk/tk.o would be found by
++concatting the path to the libdir path, ie in
++.RB /d/wfs/gcl-2.0/gcl-tk/tk.o
++
++.TP
++.B \-compile
++.RB
++Invoke the compiler on the filename following
++.BR \-compile.
++Other flags affect compilation.
++
++.TP
++.B \-o-file
++.RB
++If nil follows
++.BR \-o-file
++then do not produce an
++.I .o
++file.
++
++.TP
++.B \-c-file
++.RB
++If
++.BR \-c-file
++is specified, leave the intermediate
++.I .c
++file there.
++
++.TP
++.B \-h-file
++.RB     If
++.BR \-h-file
++is specified, leave the intermediate
++.I .h
++file there.
++
++.TP
++.B \-data-file
++.RB     If
++.BR \-data-file
++is specified, leave the intermediate
++.I .data
++file
++there.
++
++.TP
++.B \-system-p
++.RB     If
++.BR \-system-p
++is specified then invoke
++.I compile-file
++with the
++.I :system-p t
++keyword argument, meaning that the C init function
++will bear a name based on the name of the file, so that it may be
++invoked by name by C code.
++
++
++
++
++This GNU package should not be confused with the proprietary program
++distributed by FRANZ, Inc.  Nor should it be confused with any public
++domain or proprietary lisp system.  
++
++For anything other than program development, use of the lisp compiler
++is strongly recommended in preference to use of the interpreter, due
++to much higher speed.
++.\".LP
++.\"This program may be used in conjunction with the UCSF
++.\".I batchqueue
++.\"system.
++.\".SH "LOCAL ACCESS"
++.\"Locally, access to all L\s-2ISP\s0 systems is made through a shared
++.\"interactive front-end which assumes that the job is be run in batch mode
++.\"unless the \fB\-i\fP option is activated, which starts an interactive session.
++.\"Interactive sessions are limited to 30 cpu minutes.
++.SH FILES
++.TP
++\fI/usr/bin/gcl
++executable shell script wrapper
++.TP
++\fI/usr/lib/gcl-version/unixport/saved[_flavor]_gcl
++executable lisp images
++.SH "SEE ALSO"
++.sp
++\fICommon LISP: The Language\fP, Guy L. Steele, Jr., Digital Press, Bedford, MA,
++1984.
++.sp
++\fICommon LISPcraft\fP, Robert Wilensky, W. W. Norton & Co., New York, 1984.
++.SH AUTHORS
++
++The GCL system contains C and Lisp source files to build a Common Lisp
++sytem.  
++CGL is derived from Kyoto Common LISP (\fIkcl\fP),
++which was written in 1984 by T. Yuasa and M. Hagiya
++(working under Professor R. Nakajima at the Research
++Institute for Mathematical Sciences, Kyoto University).
++The AKCL system work was begun in 1987 by
++William Schelter at the University of Texas, Austin,  and continued through 1994.  
++In 1994 AKCL was released as GCL (GNU Common Lisp) under the
++GNU public library license.
++.\"
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3893a5039a93fca2fbdc378e9c0fbf5a3d6365d2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++#!/bin/sh
++CONFIGFILE=/etc/default/gcl@EXT@
++set -e
++. /usr/share/debconf/confmodule
++
++db_set gcl@EXT@/default_gcl_ansi true
++
++# Load config file, if it exists.
++if [ -e $CONFIGFILE ]; then
++    . $CONFIGFILE || true
++
++    # Store values from config file into
++    # debconf db.
++    db_set gcl@EXT@/default_gcl_ansi $DEFAULT_GCL_ANSI
++    db_set gcl@EXT@/default_gcl_prof $DEFAULT_GCL_PROF
++fi
++
++# Ask questions.
++db_input medium gcl@EXT@/default_gcl_ansi || true
++db_input medium gcl@EXT@/default_gcl_prof || true
++db_go || true
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..13fdf003e4001101237601cac8637736b5f46d6f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++sb_ansi-tests/test_results
++sb_bench/timing_results
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b46b414f88abf3c456dca9755a4219849cb2e15f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++debian/tmp/usr/bin
++debian/tmp/usr/share/man
++debian/tmp/usr/lib/gcl-@VERS@/clcs
++debian/tmp/usr/lib/gcl-@VERS@/cmpnew
++debian/tmp/usr/lib/gcl-@VERS@/h
++debian/tmp/usr/lib/gcl-@VERS@/lsp
++debian/tmp/usr/lib/gcl-@VERS@/pcl
++debian/tmp/usr/lib/gcl-@VERS@/unixport
++debian/tmp/usr/lib/gcl-@VERS@/xgcl-2
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cfc4ddc84dc0c7ce9353e66b20d6926d05eadab3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl_gprof]
++gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_gcl_gprof]
++gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl]
++gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_gcl]
++gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl_gprof]
++gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_gcl_gprof]
++gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl]
++gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_gcl]
++gcl@EXT@: hardening-no-relro [usr/lib/gcl-@VERS@/unixport/libboot.so]
++gcl@EXT@: shared-library-lacks-prerequisites [usr/lib/gcl-@VERS@/unixport/libboot.so]
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0b22534ba3169bba1d1ac29b8a9af802264b52fe
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/tmp/usr/share/man/man1/gcl@EXT@.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..917588b865be8aff15e32fc5af70d21f63d79fd0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,42 @@@
++#!/bin/sh
++case "$1" in
++  configure)
++
++#     CONFIGFILE=$(tempfile -m 644)
++      CONFIGFILE=$(mktemp)
++      chmod 644 $CONFIGFILE
++      set -e
++      . /usr/share/debconf/confmodule
++      
++      if [ "$1" = "configure" ] || [ "$1" = "reconfigure" ] ; then
++          
++          db_get gcl@EXT@/default_gcl_ansi
++          
++          if [ "$RET" = "true" ] ; then 
++              DEFAULT_GCL_ANSI=t
++          else
++              DEFAULT_GCL_ANSI=
++          fi
++          
++          db_get gcl@EXT@/default_gcl_prof
++          
++          if [ "$RET" = "true" ] ; then 
++              DEFAULT_GCL_PROF=y
++          else
++              DEFAULT_GCL_PROF=
++          fi
++          
++          echo "DEFAULT_GCL_ANSI=$DEFAULT_GCL_ANSI" >> $CONFIGFILE
++          echo "DEFAULT_GCL_PROF=$DEFAULT_GCL_PROF" >> $CONFIGFILE
++          
++      fi
++      
++      ucf --debconf-ok $CONFIGFILE /etc/default/gcl@EXT@
++      ucfr gcl@EXT@ /etc/default/gcl@EXT@
++
++#     chmod 644 /etc/default/gcl@EXT@
++      
++esac
++
++#DEBHELPER#
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5360f7dc69f55a07bd5a086a0e476e0de658bd36
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,22 @@@
++#!/bin/sh
++
++set -e
++
++case "$1" in
++    purge)
++          for ext in '~' '%' .bak .ucf-new .ucf-old .ucf-dist;  do
++              rm -f /etc/default/gcl@EXT@$ext
++          done
++          
++          rm -f /etc/default/gcl@EXT@
++          
++          if which ucf >/dev/null; then
++              ucf --purge /etc/default/gcl@EXT@
++          fi        
++          if which ucfr >/dev/null; then
++              ucfr --purge gcl@EXT@ /etc/default/gcl@EXT@
++          fi       
++          ;;
++esac
++
++#DEBHELPER#
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ccbc1340c26bb00bfd021b5ff69a6257050c1e68
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,26 @@@
++Template: gcl@EXT@/default_gcl_ansi
++Type: boolean
++_Description: Use the work-in-progress ANSI build by default?
++ GCL is in the process of providing an ANSI compliant image in addition to
++ its traditional CLtL1 image still in production use.  Please see the
++ README.Debian file for a brief description of these terms.  Setting this
++ variable will determine which image you will use by default on executing
++ 'gcl@EXT@'.  You can locally override this choice by setting the GCL_ANSI
++ environment variable to any string but "no" for the ANSI build, and to
++ "no" for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@.  The
++ flavor of the build in force will be reported in the initial startup
++ banner.
++
++Template: gcl@EXT@/default_gcl_prof
++Type: boolean
++_Description: Use the profiling build by default?
++ GCL now has optional support for profiling via gprof.  Please see the
++ documentation
++ for si::gprof-start and si::gprof-quit for details. As this build is slower
++ than builds without gprof support, it is not recommended for final production use.
++ You can locally override the default choice made here
++ by setting the
++ GCL_PROF environment variable to any non-empty string for profiling
++ support, and to the empty string for the more optimized builds, e.g.
++ GCL_PROF=t gcl@EXT@.  If profiling is enabled, this will be reported in
++ the initial startup banner.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2d6f3d120f17d3b7078ab5d059647254f7ad2df3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,12 @@@
++Document: gcl@EXT@-doc
++Title: GNU Common Lisp Documentation
++Author: W. Schelter
++Abstract: A Common Lisp compiler and interpreter based on C
++Section: Apps/Programming
++
++Format: DVI
++Files: /usr/share/doc/gcl@EXT@-doc/gcl.dvi.gz /usr/share/doc/gcl@EXT@-doc/gcl.dvi
++
++Format: HTML
++Index: /usr/share/doc/gcl@EXT@-doc/gcl/index.html
++Files: /usr/share/doc/gcl@EXT@-doc/gcl/*.html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5995e41fc83d0aac3530bd60b04e18072458d1b4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1172 @@@
++Description: Update to git tag Version_2_7_2pre3
++ Git tag update
++Forwarded: not-needed
++Author: Camm Maguire <camm@debian.org>
++
++--- gcl27-2.7.1.orig/Makefile.am
+++++ gcl27-2.7.1/Makefile.am
++@@ -23,7 +23,7 @@ gcltkdocdir=$(docdir)/gcl-tk
++ 
++ # primaries
++ 
++-noinst_PROGRAMS=bin/dpp o/grab_defs
+++noinst_PROGRAMS=bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT)
++ noinst_LIBRARIES=lib/libbase_gcl.a
++ 
++ my_unixport_PROGRAMS=unixport/saved_gcl unixport/saved_ansi_gcl
++@@ -31,7 +31,7 @@ my_unixport_LIBRARIES=unixport/libgcl.a
++ bin_SCRIPTS=bin/gcl
++ check_SCRIPTS=sb_ansi-tests/test_results sb_bench/timing_results
++ info_TEXINFOS=info/gcl.texi info/gcl-si.texi
++-my_unixport_DATA=$(addprefix unixport/,init_raw.lsp gcl.script libboot.so \
+++my_unixport_DATA=$(LIBBOOTSO) $(addprefix unixport/,init_raw.lsp gcl.script \
++                                     gcl_cmpnopt_gcl.lsp gcl_cmpnopt_ansi_gcl.lsp)
++ my_h_DATA=h/cmpinclude.h
++ my_cmpnew_DATA=sb_cmpnew/gcl_collectfn.o cmpnew/gcl_lfun_list.lsp cmpnew/gcl_cmpopt.lsp
++@@ -48,6 +48,12 @@ dist_noinst_DATA=
++ 
++ # conditionals
++ 
+++if AMM_LIBBOOT
+++LIBBOOTSO=unixport/libboot.so
+++else
+++BOOT_C=o/boot.c
+++endif
+++
++ if AMM_GPROF
++ 
++ LIBGPROF=lib/libgprof.a
++@@ -165,7 +171,7 @@ endif
++ BUILT_SOURCES=$(BUILT_H) $(BUILT_C)
++ CLEANFILES=$(BUILT_SOURCES) $(INI_FILES) o/boot.ini
++ 
++-lib_libbase_gcl_a_SOURCES=$(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H)
+++lib_libbase_gcl_a_SOURCES=$(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H) $(BOOT_C)
++ nodist_lib_libbase_gcl_a_SOURCES=$(BUILT_C)
++ lib_libgprof_a_SOURCES=o/gprof.c
++ lib_libgprof_a_CFLAGS=$(AM_CFLAGS) -fno-omit-frame-pointer -pg
++@@ -237,7 +243,7 @@ $(addprefix unixport/saved_,gcl ansi_gcl
++ unixport/saved_%: unixport/raw_% # rebuild these only when out of date
++ 
++ unixport/saved_%: | unixport/raw_% unixport/gcl_cmpnopt_%.lsp \
++-                 unixport/libboot.so unixport/init_raw.lsp
+++                 $(LIBBOOTSO) unixport/init_raw.lsp
++      rm -rf sb_$* # FIXME sandbox ugliness for parallel builds
++      mkdir sb_$*
++      cd sb_$* && \
++@@ -245,14 +251,17 @@ unixport/saved_%: | unixport/raw_% unixp
++              ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
++              mkdir h && \
++              ln -snf ../../h/cmpinclude.h h/ && \
++-             echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
+++             touch prof_init.lsp && \
+++             ( ! echo $@ | grep -q _gprof$$ || echo "(setq compiler::*default-prof-p* t)" >prof_init.lsp ) && \
+++             echo "(system:save-system \"../$@\")" | \
+++             cat ../unixport/init_raw.lsp prof_init.lsp - | \
++                      GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
++                              ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/  && \
++              rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
++      rm -rf sb_$*
++ 
++-unixport/raw_%: unixport/lib%.a
++-     $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
+++unixport/raw_%: unixport/lib%.a $(FF) $(LF)
+++     $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $(FF) $< $(LF) $(LIBS) #FIXME relro
++ 
++ unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
++ unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
++@@ -464,15 +473,15 @@ o/boot.h: %.h: %.ini
++      cat $< >> $@
++      echo '}' >> $@
++ 
++-CLEANFILES+=unixport/libboot.so
++-unixport/libboot.so: o/boot.c o/boot.h
+++CLEANFILES+=$(LIBBOOTSO)
+++$(LIBBOOTSO): o/boot.c o/boot.h
++      $(CC) $(AM_CPPFLAGS) -Io $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \
++              -fPIC -shared -Wl,-undefined -Wl,dynamic_lookup $< -o $@
++ 
++ o/boot.ini: CPPFLAGS += -DNO_BOOT_H
++ # parallel builds can only have one target accessing an intermediate file
++ # solved with BUILT_SOURCES
++-o/%.ini:  o/%.c | o/grab_defs
+++o/%.ini:  o/%.c | o/grab_defs$(EXEEXT)
++      @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
++      @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
++      @rm -f new_$(@F)
++@@ -540,8 +549,8 @@ sb_cmpnew/gcl_collectfn.o: cmpnew/gcl_co
++      [ -d $(@D) ] || mkdir -p $(@D)
++      $(word 1,$|) -compile $< -o $@
++ 
++-%.c: %.d | bin/dpp
++-     bin/dpp $< $@
+++%.c: %.d | bin/dpp$(EXEEXT)
+++     $| $< $@
++ 
++ gcl-tk/demos gcl-tk $(MY_DIRS): % :
++      [ -d $@ ] || mkdir -p $@
++--- gcl27-2.7.1.orig/Makefile.in
+++++ gcl27-2.7.1/Makefile.in
++@@ -93,7 +93,6 @@ PRE_UNINSTALL = :
++ POST_UNINSTALL = :
++ build_triplet = @build@
++ host_triplet = @host@
++-noinst_PROGRAMS = bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT)
++ my_unixport_PROGRAMS = unixport/saved_gcl$(EXEEXT) \
++      unixport/saved_ansi_gcl$(EXEEXT) $(am__EXEEXT_1)
++ @AMM_GPROF_TRUE@am__append_1 = $(LIBGPROF) lib/libbase_gcl_gprof.a
++@@ -176,6 +175,56 @@ am__v_AR_1 =
++ lib_libbase_gcl_a_AR = $(AR) $(ARFLAGS)
++ lib_libbase_gcl_a_RANLIB = $(RANLIB)
++ lib_libbase_gcl_a_LIBADD =
+++am__lib_libbase_gcl_a_SOURCES_DIST = o/typespec.c o/alloc.c o/gbc.c \
+++     o/bitop.c o/main.c o/eval.c o/macros.c o/lex.c o/bds.c \
+++     o/frame.c o/predicate.c o/reference.c o/assignment.c o/bind.c \
+++     o/let.c o/conditional.c o/block.c o/iteration.c o/prog.c \
+++     o/multival.c o/catch.c o/cfun.c o/cmpaux.c o/big.c o/number.c \
+++     o/num_pred.c o/num_comp.c o/num_arith.c o/num_sfun.c \
+++     o/num_co.c o/num_log.c o/num_rand.c o/earith.c o/array.c \
+++     o/regexpr.c o/structure.c o/toplevel.c o/backq.c o/format.c \
+++     o/unixfsys.c o/unixfasl.c o/error.c o/unixtime.c o/unixsys.c \
+++     o/unixsave.c o/funlink.c o/fat_string.c o/run_process.c \
+++     o/nfunlink.c o/usig.c o/usig2.c o/utils.c o/makefun.c \
+++     o/sockets.c o/gmp_wrappers.c o/clxsocket.c o/nsocket.c \
+++     o/prelink.c o/sfasl.c o/msbrk.c o/bcmp.c o/bcopy.c o/bzero.c \
+++     o/user_init.c o/user_match.c o/mapfun.c h/compbas2.h \
+++     h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h \
+++     h/eval.h h/fixnum.h h/frame.h h/funlink.h h/globals.h \
+++     h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h \
+++     h/lu.h h/make-init.h h/mp.h h/notcomp.h h/num_include.h \
+++     h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h \
+++     h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
+++     h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
+++     o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
+++     h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
+++     h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
+++     h/cmponly_last.h h/elf32_armhf_reloc.h \
+++     h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
+++     h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
+++     h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
+++     h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
+++     h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
+++     h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
+++     h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
+++     h/elf64_alpha_reloc.h h/elf64_alpha_reloc_special.h \
+++     h/elf64_i386_reloc.h h/elf64_i386_reloc_special.h \
+++     h/elf64_loongarch64_reloc.h \
+++     h/elf64_loongarch64_reloc_special.h h/elf64_mips_reloc.h \
+++     h/elf64_mips_reloc_special.h h/elf64_ppcle_reloc.h \
+++     h/elf64_ppcle_reloc_special.h h/elf64_ppc_reloc.h \
+++     h/elf64_ppc_reloc_special.h h/elf64_riscv64_reloc.h \
+++     h/elf64_s390_reloc.h h/elf64_sparc_reloc.h \
+++     h/elf64_sparc_reloc_special.h h/mach32_i386_reloc.h \
+++     h/mach32_ppc_reloc.h h/mach64_i386_reloc.h h/sh4-linux.h \
+++     h/amd64-linux.h h/amd64-kfreebsd.h h/386-linux.h \
+++     h/riscv64-linux.h h/386-kfreebsd.h h/amd64-gnu.h h/386-gnu.h \
+++     h/m68k-linux.h h/alpha-linux.h h/mips-linux.h h/mipsel-linux.h \
+++     h/sparc-linux.h h/aarch64-linux.h h/armhf-linux.h \
+++     h/arm-linux.h h/s390-linux.h h/ia64-linux.h h/hppa-linux.h \
+++     h/loongarch64-linux.h h/powerpc-linux.h h/powerpc-macosx.h \
+++     h/386-macosx.h h/mingw.h h/gnuwin95.h h/FreeBSD.h h/solaris.h \
+++     h/solaris-i386.h o/boot.c
++ am__dirstamp = $(am__leading_dot)dirstamp
++ am__objects_1 = o/typespec.$(OBJEXT) o/alloc.$(OBJEXT) o/gbc.$(OBJEXT) \
++      o/bitop.$(OBJEXT) o/main.$(OBJEXT) o/eval.$(OBJEXT) \
++@@ -202,20 +251,71 @@ am__objects_1 = o/typespec.$(OBJEXT) o/a
++      o/bzero.$(OBJEXT) o/user_init.$(OBJEXT) o/user_match.$(OBJEXT) \
++      o/mapfun.$(OBJEXT)
++ am__objects_2 =
+++@AMM_LIBBOOT_FALSE@am__objects_3 = o/boot.$(OBJEXT)
++ am_lib_libbase_gcl_a_OBJECTS = $(am__objects_1) $(am__objects_2) \
++-     $(am__objects_2) $(am__objects_2)
++-am__objects_3 = o/character.$(OBJEXT) o/file.$(OBJEXT) \
+++     $(am__objects_2) $(am__objects_2) $(am__objects_3)
+++am__objects_4 = o/character.$(OBJEXT) o/file.$(OBJEXT) \
++      o/gcl_readline.$(OBJEXT) o/hash.$(OBJEXT) o/list.$(OBJEXT) \
++      o/package.$(OBJEXT) o/pathname.$(OBJEXT) o/print.$(OBJEXT) \
++      o/read.$(OBJEXT) o/sequence.$(OBJEXT) o/string.$(OBJEXT) \
++      o/symbol.$(OBJEXT) o/new_init.$(OBJEXT)
++-nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_3)
+++nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_4)
++ lib_libbase_gcl_a_OBJECTS = $(am_lib_libbase_gcl_a_OBJECTS) \
++      $(nodist_lib_libbase_gcl_a_OBJECTS)
++ lib_libbase_gcl_gprof_a_AR = $(AR) $(ARFLAGS)
++ lib_libbase_gcl_gprof_a_RANLIB = $(RANLIB)
++ lib_libbase_gcl_gprof_a_LIBADD =
++-am__objects_4 = o/lib_libbase_gcl_gprof_a-typespec.$(OBJEXT) \
+++am__lib_libbase_gcl_gprof_a_SOURCES_DIST = o/typespec.c o/alloc.c \
+++     o/gbc.c o/bitop.c o/main.c o/eval.c o/macros.c o/lex.c o/bds.c \
+++     o/frame.c o/predicate.c o/reference.c o/assignment.c o/bind.c \
+++     o/let.c o/conditional.c o/block.c o/iteration.c o/prog.c \
+++     o/multival.c o/catch.c o/cfun.c o/cmpaux.c o/big.c o/number.c \
+++     o/num_pred.c o/num_comp.c o/num_arith.c o/num_sfun.c \
+++     o/num_co.c o/num_log.c o/num_rand.c o/earith.c o/array.c \
+++     o/regexpr.c o/structure.c o/toplevel.c o/backq.c o/format.c \
+++     o/unixfsys.c o/unixfasl.c o/error.c o/unixtime.c o/unixsys.c \
+++     o/unixsave.c o/funlink.c o/fat_string.c o/run_process.c \
+++     o/nfunlink.c o/usig.c o/usig2.c o/utils.c o/makefun.c \
+++     o/sockets.c o/gmp_wrappers.c o/clxsocket.c o/nsocket.c \
+++     o/prelink.c o/sfasl.c o/msbrk.c o/bcmp.c o/bcopy.c o/bzero.c \
+++     o/user_init.c o/user_match.c o/mapfun.c h/compbas2.h \
+++     h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h \
+++     h/eval.h h/fixnum.h h/frame.h h/funlink.h h/globals.h \
+++     h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h \
+++     h/lu.h h/make-init.h h/mp.h h/notcomp.h h/num_include.h \
+++     h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h \
+++     h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
+++     h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
+++     o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
+++     h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
+++     h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
+++     h/cmponly_last.h h/elf32_armhf_reloc.h \
+++     h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
+++     h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
+++     h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
+++     h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
+++     h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
+++     h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
+++     h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
+++     h/elf64_alpha_reloc.h h/elf64_alpha_reloc_special.h \
+++     h/elf64_i386_reloc.h h/elf64_i386_reloc_special.h \
+++     h/elf64_loongarch64_reloc.h \
+++     h/elf64_loongarch64_reloc_special.h h/elf64_mips_reloc.h \
+++     h/elf64_mips_reloc_special.h h/elf64_ppcle_reloc.h \
+++     h/elf64_ppcle_reloc_special.h h/elf64_ppc_reloc.h \
+++     h/elf64_ppc_reloc_special.h h/elf64_riscv64_reloc.h \
+++     h/elf64_s390_reloc.h h/elf64_sparc_reloc.h \
+++     h/elf64_sparc_reloc_special.h h/mach32_i386_reloc.h \
+++     h/mach32_ppc_reloc.h h/mach64_i386_reloc.h h/sh4-linux.h \
+++     h/amd64-linux.h h/amd64-kfreebsd.h h/386-linux.h \
+++     h/riscv64-linux.h h/386-kfreebsd.h h/amd64-gnu.h h/386-gnu.h \
+++     h/m68k-linux.h h/alpha-linux.h h/mips-linux.h h/mipsel-linux.h \
+++     h/sparc-linux.h h/aarch64-linux.h h/armhf-linux.h \
+++     h/arm-linux.h h/s390-linux.h h/ia64-linux.h h/hppa-linux.h \
+++     h/loongarch64-linux.h h/powerpc-linux.h h/powerpc-macosx.h \
+++     h/386-macosx.h h/mingw.h h/gnuwin95.h h/FreeBSD.h h/solaris.h \
+++     h/solaris-i386.h o/boot.c o/gprof.c
+++am__objects_5 = o/lib_libbase_gcl_gprof_a-typespec.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-alloc.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-gbc.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-bitop.$(OBJEXT) \
++@@ -281,11 +381,13 @@ am__objects_4 = o/lib_libbase_gcl_gprof_
++      o/lib_libbase_gcl_gprof_a-user_init.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-user_match.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-mapfun.$(OBJEXT)
++-am__objects_5 = $(am__objects_4) $(am__objects_2) $(am__objects_2) \
++-     $(am__objects_2)
++-am_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_5) \
+++@AMM_LIBBOOT_FALSE@am__objects_6 =  \
+++@AMM_LIBBOOT_FALSE@  o/lib_libbase_gcl_gprof_a-boot.$(OBJEXT)
+++am__objects_7 = $(am__objects_5) $(am__objects_2) $(am__objects_2) \
+++     $(am__objects_2) $(am__objects_6)
+++am_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_7) \
++      o/lib_libbase_gcl_gprof_a-gprof.$(OBJEXT)
++-am__objects_6 = o/lib_libbase_gcl_gprof_a-character.$(OBJEXT) \
+++am__objects_8 = o/lib_libbase_gcl_gprof_a-character.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-file.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-gcl_readline.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-hash.$(OBJEXT) \
++@@ -298,8 +400,8 @@ am__objects_6 = o/lib_libbase_gcl_gprof_
++      o/lib_libbase_gcl_gprof_a-string.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-symbol.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT)
++-am__objects_7 = $(am__objects_6)
++-nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_7)
+++am__objects_9 = $(am__objects_8)
+++nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_9)
++ lib_libbase_gcl_gprof_a_OBJECTS =  \
++      $(am_lib_libbase_gcl_gprof_a_OBJECTS) \
++      $(nodist_lib_libbase_gcl_gprof_a_OBJECTS)
++@@ -311,20 +413,20 @@ lib_libgprof_a_OBJECTS = $(am_lib_libgpr
++ lib_libxgcl_a_AR = $(AR) $(ARFLAGS)
++ lib_libxgcl_a_RANLIB = $(RANLIB)
++ lib_libxgcl_a_LIBADD =
++-am__objects_8 = xgcl-2/Events.$(OBJEXT) xgcl-2/general-c.$(OBJEXT) \
+++am__objects_10 = xgcl-2/Events.$(OBJEXT) xgcl-2/general-c.$(OBJEXT) \
++      xgcl-2/XStruct-2.$(OBJEXT) xgcl-2/XStruct-4.$(OBJEXT) \
++      xgcl-2/Xutil-2.$(OBJEXT)
++-am_lib_libxgcl_a_OBJECTS = $(am__objects_8)
+++am_lib_libxgcl_a_OBJECTS = $(am__objects_10)
++ lib_libxgcl_a_OBJECTS = $(am_lib_libxgcl_a_OBJECTS)
++ lib_libxgcl_gprof_a_AR = $(AR) $(ARFLAGS)
++ lib_libxgcl_gprof_a_RANLIB = $(RANLIB)
++ lib_libxgcl_gprof_a_LIBADD =
++-am__objects_9 = xgcl-2/lib_libxgcl_gprof_a-Events.$(OBJEXT) \
+++am__objects_11 = xgcl-2/lib_libxgcl_gprof_a-Events.$(OBJEXT) \
++      xgcl-2/lib_libxgcl_gprof_a-general-c.$(OBJEXT) \
++      xgcl-2/lib_libxgcl_gprof_a-XStruct-2.$(OBJEXT) \
++      xgcl-2/lib_libxgcl_gprof_a-XStruct-4.$(OBJEXT) \
++      xgcl-2/lib_libxgcl_gprof_a-Xutil-2.$(OBJEXT)
++-am_lib_libxgcl_gprof_a_OBJECTS = $(am__objects_9)
+++am_lib_libxgcl_gprof_a_OBJECTS = $(am__objects_11)
++ lib_libxgcl_gprof_a_OBJECTS = $(am_lib_libxgcl_gprof_a_OBJECTS)
++ unixport_libansi_gcl_a_AR = $(AR) $(ARFLAGS)
++ unixport_libansi_gcl_a_RANLIB = $(RANLIB)
++@@ -351,10 +453,10 @@ unixport_libgcl_gprof_a_OBJECTS =  \
++ bin_dpp_SOURCES = bin/dpp.c
++ bin_dpp_OBJECTS = bin/dpp.$(OBJEXT)
++ bin_dpp_LDADD = $(LDADD)
++-am__objects_10 = gcl-tk/gcltkaux-guis.$(OBJEXT) \
+++am__objects_12 = gcl-tk/gcltkaux-guis.$(OBJEXT) \
++      gcl-tk/gcltkaux-tkAppInit.$(OBJEXT) \
++      gcl-tk/gcltkaux-tkMain.$(OBJEXT)
++-am_gcl_tk_gcltkaux_OBJECTS = $(am__objects_10)
+++am_gcl_tk_gcltkaux_OBJECTS = $(am__objects_12)
++ gcl_tk_gcltkaux_OBJECTS = $(am_gcl_tk_gcltkaux_OBJECTS)
++ am__DEPENDENCIES_1 =
++ gcl_tk_gcltkaux_DEPENDENCIES = $(am__DEPENDENCIES_1) \
++@@ -400,8 +502,8 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.
++      o/$(DEPDIR)/array.Po o/$(DEPDIR)/assignment.Po \
++      o/$(DEPDIR)/backq.Po o/$(DEPDIR)/bcmp.Po o/$(DEPDIR)/bcopy.Po \
++      o/$(DEPDIR)/bds.Po o/$(DEPDIR)/big.Po o/$(DEPDIR)/bind.Po \
++-     o/$(DEPDIR)/bitop.Po o/$(DEPDIR)/block.Po o/$(DEPDIR)/bzero.Po \
++-     o/$(DEPDIR)/catch.Po o/$(DEPDIR)/cfun.Po \
+++     o/$(DEPDIR)/bitop.Po o/$(DEPDIR)/block.Po o/$(DEPDIR)/boot.Po \
+++     o/$(DEPDIR)/bzero.Po o/$(DEPDIR)/catch.Po o/$(DEPDIR)/cfun.Po \
++      o/$(DEPDIR)/character.Po o/$(DEPDIR)/clxsocket.Po \
++      o/$(DEPDIR)/cmpaux.Po o/$(DEPDIR)/conditional.Po \
++      o/$(DEPDIR)/earith.Po o/$(DEPDIR)/error.Po o/$(DEPDIR)/eval.Po \
++@@ -422,6 +524,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po \
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po \
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po \
+++     o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po \
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po \
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po \
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po \
++@@ -554,9 +657,10 @@ SOURCES = $(lib_libbase_gcl_a_SOURCES) \
++      $(unixport_saved_ansi_gcl_gprof_SOURCES) \
++      $(unixport_saved_gcl_SOURCES) \
++      $(unixport_saved_gcl_gprof_SOURCES)
++-DIST_SOURCES = $(lib_libbase_gcl_a_SOURCES) \
++-     $(lib_libbase_gcl_gprof_a_SOURCES) $(lib_libgprof_a_SOURCES) \
++-     $(lib_libxgcl_a_SOURCES) $(lib_libxgcl_gprof_a_SOURCES) \
+++DIST_SOURCES = $(am__lib_libbase_gcl_a_SOURCES_DIST) \
+++     $(am__lib_libbase_gcl_gprof_a_SOURCES_DIST) \
+++     $(lib_libgprof_a_SOURCES) $(lib_libxgcl_a_SOURCES) \
+++     $(lib_libxgcl_gprof_a_SOURCES) \
++      $(unixport_libansi_gcl_a_SOURCES) \
++      $(unixport_libansi_gcl_gprof_a_SOURCES) \
++      $(unixport_libgcl_a_SOURCES) \
++@@ -712,6 +816,7 @@ ETAGS = @ETAGS@
++ EXEEXT = @EXEEXT@
++ EXT = @EXT@
++ EXTRA_LOBJS = @EXTRA_LOBJS@
+++FF = @FF@
++ FINAL_CFLAGS = @FINAL_CFLAGS@
++ GCL_CC = @GCL_CC@
++ GMP = @GMP@
++@@ -731,6 +836,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
++ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++ LDFLAGS = @LDFLAGS@
++ LEADING_UNDERSCORE = @LEADING_UNDERSCORE@
+++LF = @LF@
++ LIBOBJS = @LIBOBJS@
++ LIBS = @LIBS@
++ LI_CC = @LI_CC@
++@@ -854,6 +960,9 @@ my_cmpnewdir = $(my_libdir)/cmpnew
++ my_clcsdir = $(my_libdir)/clcs
++ xgcl2docdir = $(docdir)/xgcl-2
++ gcltkdocdir = $(docdir)/gcl-tk
+++
+++# primaries
+++noinst_PROGRAMS = bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT)
++ noinst_LIBRARIES = lib/libbase_gcl.a $(am__append_1) $(am__append_4) \
++      $(am__append_7)
++ my_unixport_LIBRARIES = unixport/libgcl.a unixport/libansi_gcl.a \
++@@ -862,7 +971,7 @@ bin_SCRIPTS = bin/gcl
++ check_SCRIPTS = sb_ansi-tests/test_results sb_bench/timing_results
++ info_TEXINFOS = info/gcl.texi info/gcl-si.texi $(am__append_6) \
++      $(am__append_9)
++-my_unixport_DATA = $(addprefix unixport/,init_raw.lsp gcl.script libboot.so \
+++my_unixport_DATA = $(LIBBOOTSO) $(addprefix unixport/,init_raw.lsp gcl.script \
++                                     gcl_cmpnopt_gcl.lsp gcl_cmpnopt_ansi_gcl.lsp)
++ 
++ my_h_DATA = h/cmpinclude.h
++@@ -879,6 +988,8 @@ lisp_DATA = elisp/add-default.el elisp/a
++ dist_noinst_DATA = $(am__append_5) $(am__append_8)
++ 
++ # conditionals
+++@AMM_LIBBOOT_TRUE@LIBBOOTSO = unixport/libboot.so
+++@AMM_LIBBOOT_FALSE@BOOT_C = o/boot.c
++ @AMM_GPROF_TRUE@LIBGPROF = lib/libgprof.a
++ 
++ #it would be nice someday to sandbox xgcl-2 and gcl-tk builds in tmpdirs
++@@ -968,9 +1079,8 @@ BUILT_SOURCES = $(BUILT_H) $(BUILT_C)
++ CLEANFILES = $(BUILT_SOURCES) $(INI_FILES) o/boot.ini $(addprefix \
++      unixport/raw_,gcl gcl_gprof ansi_gcl ansi_gcl_gprof) \
++      h/cmpinclude.h h/mstdint.h h/cmpincludea.h h/mcompdefs.h \
++-     unixport/libboot.so gcl-tk/demos/index.lsp \
++-     gcl-tk/demos/gc-monitor.o
++-lib_libbase_gcl_a_SOURCES = $(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H)
+++     $(LIBBOOTSO) gcl-tk/demos/index.lsp gcl-tk/demos/gc-monitor.o
+++lib_libbase_gcl_a_SOURCES = $(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H) $(BOOT_C)
++ nodist_lib_libbase_gcl_a_SOURCES = $(BUILT_C)
++ lib_libgprof_a_SOURCES = o/gprof.c
++ lib_libgprof_a_CFLAGS = $(AM_CFLAGS) -fno-omit-frame-pointer -pg
++@@ -1293,6 +1403,7 @@ o/bzero.$(OBJEXT): o/$(am__dirstamp) o/$
++ o/user_init.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
++ o/user_match.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
++ o/mapfun.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+++o/boot.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
++ o/character.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
++ o/file.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
++ o/gcl_readline.$(OBJEXT): o/$(am__dirstamp) \
++@@ -1447,6 +1558,8 @@ o/lib_libbase_gcl_gprof_a-user_match.$(O
++      o/$(DEPDIR)/$(am__dirstamp)
++ o/lib_libbase_gcl_gprof_a-mapfun.$(OBJEXT): o/$(am__dirstamp) \
++      o/$(DEPDIR)/$(am__dirstamp)
+++o/lib_libbase_gcl_gprof_a-boot.$(OBJEXT): o/$(am__dirstamp) \
+++     o/$(DEPDIR)/$(am__dirstamp)
++ o/lib_libbase_gcl_gprof_a-gprof.$(OBJEXT): o/$(am__dirstamp) \
++      o/$(DEPDIR)/$(am__dirstamp)
++ o/lib_libbase_gcl_gprof_a-character.$(OBJEXT): o/$(am__dirstamp) \
++@@ -1654,6 +1767,7 @@ distclean-compile:
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bind.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bitop.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/block.Po@am__quote@ # am--include-marker
+++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/boot.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bzero.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/catch.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/cfun.Po@am__quote@ # am--include-marker
++@@ -1688,6 +1802,7 @@ distclean-compile:
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po@am__quote@ # am--include-marker
+++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po@am__quote@ # am--include-marker
++@@ -2761,6 +2876,20 @@ o/lib_libbase_gcl_gprof_a-mapfun.obj: o/
++ @AMDEP_TRUE@@am__fastdepCC_FALSE@    DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ @am__fastdepCC_FALSE@        $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-mapfun.obj `if test -f 'o/mapfun.c'; then $(CYGPATH_W) 'o/mapfun.c'; else $(CYGPATH_W) '$(srcdir)/o/mapfun.c'; fi`
++ 
+++o/lib_libbase_gcl_gprof_a-boot.o: o/boot.c
+++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-boot.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo -c -o o/lib_libbase_gcl_gprof_a-boot.o `test -f 'o/boot.c' || echo '$(srcdir)/'`o/boot.c
+++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
+++@AMDEP_TRUE@@am__fastdepCC_FALSE@    $(AM_V_CC)source='o/boot.c' object='o/lib_libbase_gcl_gprof_a-boot.o' libtool=no @AMDEPBACKSLASH@
+++@AMDEP_TRUE@@am__fastdepCC_FALSE@    DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+++@am__fastdepCC_FALSE@        $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-boot.o `test -f 'o/boot.c' || echo '$(srcdir)/'`o/boot.c
+++
+++o/lib_libbase_gcl_gprof_a-boot.obj: o/boot.c
+++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-boot.obj -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo -c -o o/lib_libbase_gcl_gprof_a-boot.obj `if test -f 'o/boot.c'; then $(CYGPATH_W) 'o/boot.c'; else $(CYGPATH_W) '$(srcdir)/o/boot.c'; fi`
+++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
+++@AMDEP_TRUE@@am__fastdepCC_FALSE@    $(AM_V_CC)source='o/boot.c' object='o/lib_libbase_gcl_gprof_a-boot.obj' libtool=no @AMDEPBACKSLASH@
+++@AMDEP_TRUE@@am__fastdepCC_FALSE@    DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+++@am__fastdepCC_FALSE@        $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-boot.obj `if test -f 'o/boot.c'; then $(CYGPATH_W) 'o/boot.c'; else $(CYGPATH_W) '$(srcdir)/o/boot.c'; fi`
+++
++ o/lib_libbase_gcl_gprof_a-gprof.o: o/gprof.c
++ @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-gprof.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Tpo -c -o o/lib_libbase_gcl_gprof_a-gprof.o `test -f 'o/gprof.c' || echo '$(srcdir)/'`o/gprof.c
++ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Po
++@@ -3974,6 +4103,7 @@ distclean: distclean-am
++      -rm -f o/$(DEPDIR)/bind.Po
++      -rm -f o/$(DEPDIR)/bitop.Po
++      -rm -f o/$(DEPDIR)/block.Po
+++     -rm -f o/$(DEPDIR)/boot.Po
++      -rm -f o/$(DEPDIR)/bzero.Po
++      -rm -f o/$(DEPDIR)/catch.Po
++      -rm -f o/$(DEPDIR)/cfun.Po
++@@ -4008,6 +4138,7 @@ distclean: distclean-am
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po
+++     -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po
++@@ -4294,6 +4425,7 @@ maintainer-clean: maintainer-clean-am
++      -rm -f o/$(DEPDIR)/bind.Po
++      -rm -f o/$(DEPDIR)/bitop.Po
++      -rm -f o/$(DEPDIR)/block.Po
+++     -rm -f o/$(DEPDIR)/boot.Po
++      -rm -f o/$(DEPDIR)/bzero.Po
++      -rm -f o/$(DEPDIR)/catch.Po
++      -rm -f o/$(DEPDIR)/cfun.Po
++@@ -4328,6 +4460,7 @@ maintainer-clean: maintainer-clean-am
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po
+++     -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po
++@@ -4541,7 +4674,7 @@ $(addprefix unixport/saved_,gcl ansi_gcl
++ unixport/saved_%: unixport/raw_% # rebuild these only when out of date
++ 
++ unixport/saved_%: | unixport/raw_% unixport/gcl_cmpnopt_%.lsp \
++-                 unixport/libboot.so unixport/init_raw.lsp
+++                 $(LIBBOOTSO) unixport/init_raw.lsp
++      rm -rf sb_$* # FIXME sandbox ugliness for parallel builds
++      mkdir sb_$*
++      cd sb_$* && \
++@@ -4549,14 +4682,17 @@ unixport/saved_%: | unixport/raw_% unixp
++              ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
++              mkdir h && \
++              ln -snf ../../h/cmpinclude.h h/ && \
++-             echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
+++             touch prof_init.lsp && \
+++             ( ! echo $@ | grep -q _gprof$$ || echo "(setq compiler::*default-prof-p* t)" >prof_init.lsp ) && \
+++             echo "(system:save-system \"../$@\")" | \
+++             cat ../unixport/init_raw.lsp prof_init.lsp - | \
++                      GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
++                              ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/  && \
++              rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
++      rm -rf sb_$*
++ 
++-unixport/raw_%: unixport/lib%.a
++-     $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
+++unixport/raw_%: unixport/lib%.a $(FF) $(LF)
+++     $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $(FF) $< $(LF) $(LIBS) #FIXME relro
++ 
++ unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
++ unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
++@@ -4754,14 +4890,14 @@ o/boot.h: %.h: %.ini
++      echo 'void gcl_init_boot(void){' >> $@
++      cat $< >> $@
++      echo '}' >> $@
++-unixport/libboot.so: o/boot.c o/boot.h
+++$(LIBBOOTSO): o/boot.c o/boot.h
++      $(CC) $(AM_CPPFLAGS) -Io $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \
++              -fPIC -shared -Wl,-undefined -Wl,dynamic_lookup $< -o $@
++ 
++ o/boot.ini: CPPFLAGS += -DNO_BOOT_H
++ # parallel builds can only have one target accessing an intermediate file
++ # solved with BUILT_SOURCES
++-o/%.ini:  o/%.c | o/grab_defs
+++o/%.ini:  o/%.c | o/grab_defs$(EXEEXT)
++      @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
++      @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
++      @rm -f new_$(@F)
++@@ -4824,8 +4960,8 @@ sb_cmpnew/gcl_collectfn.o: cmpnew/gcl_co
++      [ -d $(@D) ] || mkdir -p $(@D)
++      $(word 1,$|) -compile $< -o $@
++ 
++-%.c: %.d | bin/dpp
++-     bin/dpp $< $@
+++%.c: %.d | bin/dpp$(EXEEXT)
+++     $| $< $@
++ 
++ gcl-tk/demos gcl-tk $(MY_DIRS): % :
++      [ -d $@ ] || mkdir -p $@
++--- gcl27-2.7.1.orig/bin/gcl.in
+++++ gcl27-2.7.1/bin/gcl.in
++@@ -5,13 +5,19 @@ VERS=@VERSION@
++ 
++ if [ -e /etc/default/gcl$EXT ] ; then
++     . /etc/default/gcl$EXT ;
++-    if ! set | grep -q -w GCL_ANSI ; then GCL_ANSI=$DEFAULT_GCL_ANSI ; fi
+++    if ! set | grep -q -w GCL_ANSI ; then
+++     if [ "$DEFAULT_GCL_ANSI" != "" ] ; then
+++         GCL_ANSI="t" ;
+++     else
+++         GCL_ANSI="no" ;
+++     fi
+++    fi
++     if ! set | grep -q -w GCL_PROF ; then GCL_PROF=$DEFAULT_GCL_PROF ; fi
++ fi
++ 
++ DIR=@prefix@/lib/gcl-$VERS;
++ 
++-if [ "$GCL_ANSI" = "" ] ; then
+++if [ "$GCL_ANSI" = "no" ] ; then
++     if [ "$GCL_PROF" = "" ] ; then
++      EXE=saved_gcl;
++     else
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp
++@@ -334,8 +334,10 @@
++        ((append at '(*))))));let call_proc_new foil fast linking and catch errors
++ 
++ (defun add-fast-link (fname la &optional apnarg
++-                         &aux n
++-                         (at (call-arg-types (mapcar (lambda (x) (link-rt x t)) (get-arg-types fname)) la apnarg))
+++                   &aux n
+++                     (at (call-arg-types
+++                          (adj-call-tps-max (mapcar (lambda (x) (link-rt x t)) (get-arg-types fname)))
+++                          la apnarg))
++                          (rt (link-rt (get-return-type fname) t))
++                          (clp (cclosure-p fname))
++                          (tail (list rt at clp apnarg)))
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpeval.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpeval.lsp
++@@ -2353,6 +2353,12 @@
++    (otherwise                          (when (or always (ltvp val))
++                                       `(vv ,val)))))
++ 
+++(defun encap-src-val (val)
+++  (typecase val
+++    (function  (afe (cons 'df nil) (mf (fle val))))
+++    (cons (cons (encap-src-val (car val)) (encap-src-val (cdr val))))
+++    (t val)))
+++
++ (defun c1constant-value (val always &aux (val (if (exit-to-fmla-p) (not (not val)) val)))
++   (case 
++    val
++@@ -2363,11 +2369,7 @@
++       (when l 
++      `(location 
++        ,(make-info :type (or (ltvp val)
++-                             (object-type
++-                              (typecase val
++-                                (function  (afe (cons 'df nil) (mf (fle val))))
++-                                (list (copy-tree val))
++-                                (t val)))))
+++                             (object-type (encap-src-val val))))
++        ,l))))))
++ 
++ (defvar *compiler-temps*
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpflet.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpflet.lsp
++@@ -495,7 +495,7 @@
++       (clp (when clp (ccb-vs-str (fun-ref-ccb fun))))
++       (nm (if clp (ms clp "->fun.fun_self") nm))
++       (inl (g1 clp nm sig ap clp (if clp -1 (fun-level fun)))))
++-    `(,(car sig) ,(cadr sig) 
+++    `(,(adj-call-tps-max (car sig)) ,(cadr sig)
++       ,(if mv (flags rfa svt) (flags rfa))
++       ,inl)))
++ 
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmptop.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmptop.lsp
++@@ -823,7 +823,7 @@
++     ((cons (eql vv) t) (fm-to-string (cadr form)))
++     ((cons (member char-value fixnum-value character-value) t) (fm-to-string (caddr form)))
++     ((eql most-negative-fixnum)  #.(string-concatenate "(" (write-to-string (1+ most-negative-fixnum)) "- 1)"))
++-    (integer (format nil "~a" form)); string character
+++    (fixnum (format nil "~a" form)); string character
++     (float (format nil "~10,,,,,,'eG" form))
++     ((complex float)
++      (string-concatenate "(" (fm-to-string (realpart form)) " + I * " (fm-to-string (imagpart form)) ")"))))
++@@ -832,7 +832,7 @@
++   (string-concatenate
++    (cond ((member key '(:cnum :creal)) "")
++       ((eq ft tt) "")
++-       ((equal ft t)
+++      ((equal ft t)
++         (if *compiler-new-safety*
++             (let ((v (member key '(:char :int :fixnum))))
++               (if v (si::string-concatenate (setq p "object_to_") (strcat key))
++@@ -1127,11 +1127,19 @@
++     (let ((x (position x +c-global-arg-types+ :test 'type<=)))
++       (if x (1+ x) 0))))
++ 
+++(defconstant +max-typed-args+
+++  (let ((x (cdr (tp-bnds (cadr (si::sig 'c-function-argd))))))
+++    (if (typep x 'fixnum) (1- (truncate (integer-length x) 2)) 0)))
+++
+++(defun adj-call-tps-max (tps &aux (i -1))
+++  (mapcar (lambda (x) (type-or1 (>= (incf i) +max-typed-args+) x)) tps))
+++
++ (defun new-proclaimed-argd (args return)
++   (do* ((type (f-type return) (f-type (pop args)))
++      (i 0 (+ 2 i))
++      (ans type (logior ans (ash type i))))
++-       ((or (>= i 32) (null args)) (the (unsigned-byte 32) ans))))
+++       ((or (>= i #.(ash +max-typed-args+ 1)) (null args))
+++     (the (unsigned-byte #.(1+ (ash +max-typed-args+ 1))) ans))))
++ 
++ (defun type-f (x)
++   (declare (fixnum x))
++@@ -1300,14 +1308,16 @@
++ (defun t3defun-local-entry (fname cfun lambda-expr sp inline-info
++                                &aux specials *reg-clv* (requireds (caaddr lambda-expr)) nargs)
++   (do ((vl requireds (cdr vl))
++-       (types (cadr inline-info) (cdr types)))
+++       (types (cadr inline-info) (cdr types))
+++       (i 0 (1+ i)))
++       ((endp vl))
++       (cond ((eq (var-kind (car vl)) 'special)
++           (push (cons (car vl) (var-loc (car vl))) specials))
++          ((var-cb (car vl)) (push (list (eq 'clb (var-loc (car vl))) (car vl)) *reg-clv*))
++-;        ((var-cb (car vl)) (push (car vl) *reg-clv*))
++          ((setf (var-kind (car vl))
++-                (or (car (member (promoted-c-type (var-type (car vl))) +c-local-arg-types+)) 'object))))
+++                (or (when (< i +max-typed-args+)
+++                      (car (member (promoted-c-type (var-type (car vl))) +c-local-arg-types+)))
+++                    'object))))
++       (setf (var-loc (car vl)) (cs-push (var-type (car vl)) t)))
++   (when (is-narg-le lambda-expr)
++     (setq nargs (car (last requireds)))
++@@ -1382,13 +1392,12 @@
++     (wt-h "#define VMRV" cm "(a_,b_)" vstu bdsu frsu " return((" (declaration-type (rep-type return-type)) ")a_);")
++     (wt-h "#define VMR" cm "(a_) VMRV" cm "(a_,0);")))
++ 
++-
++-(defun wt-requireds (requireds arg-types &optional first narg)
+++(defun wt-requireds (requireds arg-types &optional first narg &aux (i -1))
++   (declare (ignore arg-types))
++   (flet ((wt (x) (wt x) (let ((*compiler-output1* *compiler-output2*)) (wt x))))
++      (dolist (v requireds (wt (if narg ",...)" ")")))
++        (setq narg (or narg (is-narg-var v)))
++-       (let* ((gt (global-type-bump (var-type v)))
+++       (let* ((gt (global-type-bump (if (< (incf i) +max-typed-args+) (var-type v) t)))
++               (cvar (cs-push gt t)))
++          (when first (wt ","))
++          (setq first t)
++@@ -1811,6 +1820,12 @@
++ ;;                     ,@(mapcar (lambda (x y) 
++ ;;                                 `(unbox ,(intern (symbol-name x) 'keyword) ,y)) args syms)))))))
++ 
+++(defun c-key-rep (key)
+++  (ecase key
+++    ((:object :char :int :long :float :double :fixnum :void) (string-downcase key))
+++    (:string "char *")
+++    (:ustring "unsigned char *")))
+++
++ (defmacro defentry (n args c &optional (lt t)
++                    &aux (tsyms (load-time-value
++                                 (mapl (lambda (x) (setf (car x) (gensym "DEFENTRY")))
++@@ -1824,9 +1839,9 @@
++       (tps (mapcar (lambda (x) (intern (string (if (consp x) (car x) x)) 'keyword)) args))
++       (decl (reduce (lambda (y x)
++                       (strcat y (if (> (length y) 0) "," "")
++-                              (cdr (assoc (get x 'cmp-lisp-type) +defentry-c-rep-alist+))))
+++                              (c-key-rep x)))
++                     tps :initial-value ""))
++-      (decl (concatenate 'string (string-downcase rt) " " m "(" decl ");"))
+++      (decl (concatenate 'string (c-key-rep rt) " " m "(" decl ");"))
++       (decl (if st "" decl))
++       (syms (mapcar (lambda (x) (declare (ignore x)) (pop tsyms)) args)))
++   `(defun ,n ,syms 
++@@ -1881,14 +1896,16 @@
++ 
++   (setq h (fun-call fun) at (caar h) rt (cadar h)
++      at (mapcar 'global-type-bump at) rt (global-type-bump rt));FIXME
++-  (dolist (vl requireds)
++-    (cond ((eq (var-kind vl) 'special)
++-        (push (cons vl (var-loc vl)) specials))
++-       ((var-cb vl) (push (list (eq 'clb (var-loc vl)) vl) *reg-clv*))
++-;      ((var-cb vl) (push vl *reg-clv*))
++-       ((setf (var-kind vl)
++-              (or (car (member (promoted-c-type (var-type vl)) +c-global-arg-types+)) 'object))))
++-    (setf (var-loc vl) (cs-push (var-type vl) t)))
+++  (do ((vlp requireds (cdr vlp))(i 0 (1+ i)))((endp vlp))
+++    (let ((vl (car vlp)))
+++      (cond ((eq (var-kind vl) 'special)
+++          (push (cons vl (var-loc vl)) specials))
+++         ((var-cb vl) (push (list (eq 'clb (var-loc vl)) vl) *reg-clv*))
+++         ((setf (var-kind vl)
+++                (or (when (< i +max-typed-args+)
+++                      (car (member (promoted-c-type (var-type vl)) +c-global-arg-types+)))
+++                    'object))))
+++      (setf (var-loc vl) (cs-push (var-type vl) t))))
++ 
++   (wt-comment "local function " (if (fun-name fun) (fun-name fun) nil))
++   (wt-h   "static " (declaration-type (rep-type rt))
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmptype.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmptype.lsp
++@@ -220,11 +220,6 @@
++         (list* nil +c-local-var-types-syms+))
++    `((object . "object "))))
++ 
++-(defconstant +defentry-c-rep-alist+
++-  (mapcar (lambda (x &aux (z (assoc x *c-types*)))
++-         (cons (cadr z) (eighth z)))
++-       '(char #+64bit signed-int fixnum short-float long-float string t)))
++-
++ (defconstant +cmp-type-alist+
++   (mapcar (lambda (x) (cons (cmp-norm-tp (car x)) (cdr x))) +type-alist+))
++ 
++--- gcl27-2.7.1.orig/configure
+++++ gcl27-2.7.1/configure
++@@ -719,6 +719,10 @@ LDFLAGS
++ CFLAGS
++ CC
++ PRELINK_CHECK
+++AMM_LIBBOOT_FALSE
+++AMM_LIBBOOT_TRUE
+++LF
+++FF
++ host_os
++ host_vendor
++ host_cpu
++@@ -807,6 +811,7 @@ ac_user_opts='
++ enable_option_checking
++ enable_silent_rules
++ with_lispdir
+++enable_libboot
++ enable_machine
++ enable_widecons
++ enable_safecdr
++@@ -1478,6 +1483,7 @@ Optional Features:
++   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
++   --enable-silent-rules   less verbose build output (undo: "make V=1")
++   --disable-silent-rules  verbose build output (undo: "make V=0")
+++put bootstrap code in shared library to be discarded
++   --enable-machine=XXXX will force the use of one of the definitions in h/XXXX.defs
++   --enable-widecons will use a three word cons with simplified typing
++   --enable-safecdr will protect cdr from immfix and speed up type processing
++@@ -4149,6 +4155,38 @@ case $canonical in
++     i?86-pc-solaris*) use=solaris-i386;;
++ esac
++ 
+++# Check whether --enable-libboot was given.
+++if test ${enable_libboot+y}
+++then :
+++  enableval=$enable_libboot; libboot=$enableval
+++else case e in #(
+++  e) libboot="yes" ;;
+++esac
+++fi
+++
+++
+++if test "$use" = "gnuwin95" ; then
+++   FF=o/firstfile.o
+++
+++   LF=o/lastfile.o
+++
+++   libboot="no"
+++fi
+++
+++ if test "$libboot" = "yes"; then
+++  AMM_LIBBOOT_TRUE=
+++  AMM_LIBBOOT_FALSE='#'
+++else
+++  AMM_LIBBOOT_TRUE='#'
+++  AMM_LIBBOOT_FALSE=
+++fi
+++
+++if test "$libboot" = "yes" ; then
+++
+++printf "%s\n" "#define USE_LIBBOOT 1" >>confdefs.h
+++
+++fi
+++
++ # Check whether --enable-machine was given.
++ if test ${enable_machine+y}
++ then :
++@@ -7155,19 +7193,11 @@ case $use in
++      assert_arg_to_cflags -mms-bitfields
++      for i in makedefc windows/gcl.iss windows/sysdir.bat windows/install.lsp h/gclincl.h;  do
++          cat $i.in | sed 's,^\r\n$,\r\n,g' >tmp && mv tmp $i.in;
++-     done
++-     OLD_LDFLAGS=$LDFLAGS
++-     assert_arg_to_ldflags -pg
++-     GPL_FLAG="-pg"
++-     LDFLAGS=$OLD_LDFLAGS;;
+++     done;;
++     *gnuwin*)
++      assert_arg_to_cflags -fno-zero-initialized-in-bss
++      assert_arg_to_cflags -mms-bitfields
++-        assert_arg_to_ldflags -Wl,--stack,8000000
++-     OLD_LDFLAGS=$LDFLAGS
++-     assert_arg_to_ldflags -pg
++-     GPL_FLAG="-pg"
++-     LDFLAGS=$OLD_LDFLAGS;;
+++        assert_arg_to_ldflags -Wl,--stack,8000000;;
++     386-linux)
++      if ! add_arg_to_cflags -msse2 || ! add_arg_to_cflags -mfpmath=sse ; then
++         add_arg_to_cflags -ffloat-store;
++@@ -8742,6 +8772,41 @@ esac
++ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
++ # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'.
++ # This bug is HP SR number 8606223364.
+++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
+++printf %s "checking size of size_t... " >&6; }
+++if test ${ac_cv_sizeof_size_t+y}
+++then :
+++  printf %s "(cached) " >&6
+++else case e in #(
+++  e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t"        "$ac_includes_default"
+++then :
+++
+++else case e in #(
+++  e) if test "$ac_cv_type_size_t" = yes; then
+++     { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+++printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+++as_fn_error 77 "cannot compute sizeof (size_t)
+++See 'config.log' for more details" "$LINENO" 5; }
+++   else
+++     ac_cv_sizeof_size_t=0
+++   fi ;;
+++esac
+++fi
+++ ;;
+++esac
+++fi
+++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
+++printf "%s\n" "$ac_cv_sizeof_size_t" >&6; }
+++
+++
+++
+++printf "%s\n" "#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t" >>confdefs.h
+++
+++
+++# The cast to long int works around a bug in the HP C Compiler
+++# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+++# declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'.
+++# This bug is HP SR number 8606223364.
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
++ printf %s "checking size of long... " >&6; }
++ if test ${ac_cv_sizeof_long+y}
++@@ -9029,7 +9094,8 @@ esac
++ printf %s "checking for hugepagewidth... " >&6; }
++ j=""
++ if test -e /proc/meminfo ; then
++-   j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;if (j==$2) printf("%d\n",i+10)}'  /proc/meminfo`
+++   j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;
+++   if (j==$2) {if (i>11) i=11;printf("%d\n",i+10)}}'  /proc/meminfo`
++ fi
++ if test "$j" != "" ; then
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $j" >&5
++@@ -11661,9 +11727,6 @@ then :
++ fi
++ 
++ 
++-#LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
++-LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
++-#AM_LDFLAGS = $LDFLAGS
++ BASE_LDFLAGS="$LDFLAGS"
++ LDFLAGS=""
++ 
++@@ -11859,6 +11922,10 @@ else
++   am__EXEEXT_FALSE=
++ fi
++ 
+++if test -z "${AMM_LIBBOOT_TRUE}" && test -z "${AMM_LIBBOOT_FALSE}"; then
+++  as_fn_error $? "conditional \"AMM_LIBBOOT\" was never defined.
+++Usually this means the macro was only invoked conditionally." "$LINENO" 5
+++fi
++ if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
++   as_fn_error $? "conditional \"AMDEP\" was never defined.
++ Usually this means the macro was only invoked conditionally." "$LINENO" 5
++--- gcl27-2.7.1.orig/configure.ac
+++++ gcl27-2.7.1/configure.ac
++@@ -71,6 +71,22 @@ case $canonical in
++     i?86-pc-solaris*) use=solaris-i386;;
++ esac
++ 
+++AC_ARG_ENABLE([libboot],[put bootstrap code in shared library to be discarded],
+++           [libboot=$enableval],[libboot="yes"])
+++
+++if test "$use" = "gnuwin95" ; then
+++   FF=o/firstfile.o
+++   AC_SUBST(FF)
+++   LF=o/lastfile.o
+++   AC_SUBST(LF)
+++   libboot="no"
+++fi
+++
+++AM_CONDITIONAL([AMM_LIBBOOT],[test "$libboot" = "yes"])
+++if test "$libboot" = "yes" ; then
+++   AC_DEFINE([USE_LIBBOOT],[1],[boot code in shared library])
+++fi
+++
++ AC_ARG_ENABLE([machine],[  --enable-machine=XXXX will force the use of one of the definitions in h/XXXX.defs],
++            [echo enable_machine=$enableval ; use=$enableval])
++ 
++@@ -271,19 +287,11 @@ case $use in
++      assert_arg_to_cflags -mms-bitfields
++      for i in makedefc windows/gcl.iss windows/sysdir.bat windows/install.lsp h/gclincl.h;  do
++          cat $i.in | sed 's,[^\r]\n$,\r\n,g' >tmp && mv tmp $i.in;
++-     done
++-     OLD_LDFLAGS=$LDFLAGS
++-     assert_arg_to_ldflags -pg
++-     GPL_FLAG="-pg"
++-     LDFLAGS=$OLD_LDFLAGS;;
+++     done;;
++     *gnuwin*)
++      assert_arg_to_cflags -fno-zero-initialized-in-bss
++      assert_arg_to_cflags -mms-bitfields
++-        assert_arg_to_ldflags -Wl,--stack,8000000
++-     OLD_LDFLAGS=$LDFLAGS
++-     assert_arg_to_ldflags -pg
++-     GPL_FLAG="-pg"
++-     LDFLAGS=$OLD_LDFLAGS;;
+++        assert_arg_to_ldflags -Wl,--stack,8000000;;
++     386-linux)
++      if ! add_arg_to_cflags -msse2 || ! add_arg_to_cflags -mfpmath=sse ; then
++         add_arg_to_cflags -ffloat-store;
++@@ -793,6 +801,7 @@ esac
++ # mechanism, in the PAGE macro.  This offset is subtracted from
++ # addresses, in calculating a page for an address in the heap.
++ 
+++AC_CHECK_SIZEOF(size_t,0)
++ AC_CHECK_SIZEOF(long,0)
++ AC_CHECK_SIZEOF(short,0)
++ AC_CHECK_SIZEOF(int,0)
++@@ -853,7 +862,8 @@ esac
++ AC_MSG_CHECKING([for hugepagewidth])
++ j=""
++ if test -e /proc/meminfo ; then
++-   j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;if (j==$2) printf("%d\n",i+10)}'  /proc/meminfo`
+++   j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;
+++   if (j==$2) {if (i>11) i=11;printf("%d\n",i+10)}}'  /proc/meminfo`
++ fi
++ if test "$j" != "" ; then
++    AC_MSG_RESULT([$j])
++@@ -1849,9 +1859,6 @@ AC_CONFIG_FILES([bin/gcl])
++ AC_CHECK_HEADERS(sys/mman.h,AC_CHECK_FUNCS(mprotect))
++ AC_CHECK_HEADERS(alloca.h)
++ 
++-#LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
++-LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
++-#AM_LDFLAGS = $LDFLAGS
++ BASE_LDFLAGS="$LDFLAGS"
++ LDFLAGS=""
++ AC_SUBST(BASE_LDFLAGS)
++--- gcl27-2.7.1.orig/git.tag
+++++ gcl27-2.7.1/git.tag
++@@ -1,2 +1,2 @@
++-"Version_2_7_2ore2"
+++"Version_2_7_2ore3"
++ 
++--- gcl27-2.7.1.orig/h/386-macosx.h
+++++ gcl27-2.7.1/h/386-macosx.h
++@@ -132,7 +132,7 @@ if (realpath (buf, fub) == 0) {
++ #define UC(a_) ((ucontext_t *)a_)
++ #define SF(a_) ((siginfo_t *)a_)
++ 
++-#define FPE_CODE(i_,v_) make_fixnum(FFN(fSfpe_code)(*(fixnum *)&UC(v_)->uc_mcontext->__fs.__fpu_fsw,UC(v_)->uc_mcontext->__fs.__fpu_mxcsr))
+++#define FPE_CODE(i_,v_) make_fixnum((fixnum)FFN(fSfpe_code)(*(fixnum *)&UC(v_)->uc_mcontext->__fs.__fpu_fsw,UC(v_)->uc_mcontext->__fs.__fpu_mxcsr))
++ #define FPE_ADDR(i_,v_) make_fixnum(UC(v_)->uc_mcontext->__fs.__fpu_fop ? UC(v_)->uc_mcontext->__fs.__fpu_ip : (fixnum)SF(i_)->si_addr)
++ #define FPE_CTXT(v_) list(3,make_fixnum((fixnum)&UC(v_)->uc_mcontext->__ss), \
++                        make_fixnum((fixnum)&UC(v_)->uc_mcontext->__fs.__fpu_stmm0), \
++--- gcl27-2.7.1.orig/h/compprotos.h
+++++ gcl27-2.7.1/h/compprotos.h
++@@ -85,7 +85,11 @@ char object_to_char(object);
++ void not_a_symbol(object);
++ object number_expt(object,object);
++ object fLrow_major_aref(object,fixnum);
+++#if SIZEOF_SIZE_T == SIZEOF_INT
+++void *alloca(unsigned);
+++#else
++ void *alloca(unsigned long);
+++#endif
++ object cmod(object);
++ object ctimes(object,object);
++ object cdifference(object,object);
++--- gcl27-2.7.1.orig/h/gclincl.h.in
+++++ gcl27-2.7.1/h/gclincl.h.in
++@@ -315,6 +315,9 @@
++ /* The size of 'short', as computed by sizeof. */
++ #undef SIZEOF_SHORT
++ 
+++/* The size of 'size_t', as computed by sizeof. */
+++#undef SIZEOF_SIZE_T
+++
++ /* staticly linked images */
++ #undef STATIC_LINKING
++ 
++@@ -332,6 +335,9 @@
++ /* use gprof */
++ #undef USE_GPROF
++ 
+++/* boot code in shared library */
+++#undef USE_LIBBOOT
+++
++ /* use readline library */
++ #undef USE_READLINE
++ 
++--- gcl27-2.7.1.orig/h/protoize.h
+++++ gcl27-2.7.1/h/protoize.h
++@@ -1450,8 +1450,6 @@ void init_shared_memory(void);
++ 
++ void * object_to_pointer(object);
++ 
++-void * alloca(unsigned long);
++-
++ object make_dcomplex(dcomplex);
++ 
++ object find_init_string(const char *);
++--- gcl27-2.7.1.orig/info/internal.texi
+++++ gcl27-2.7.1/info/internal.texi
++@@ -218,7 +218,7 @@ GCL specific: The compiler defines a Lis
++ calling sequence to the C language function specified by C-FUNCTION.  The
++ interpreter ignores this form.  The ARG-TYPES specifies the C types of the
++ arguments which C-FUNCTION requires.  The list of allowed types is (object
++-char int float double string).  Code will be produced to coerce from a lisp
+++char int long float double string).  Code will be produced to coerce from a lisp
++ object to the appropriate type before passing the argument to the C-FUNCTION.
++ The c-function should be of the form (c-result-type c-fname) where
++ c-result-type is a member of (void object char int float double string).
++--- gcl27-2.7.1.orig/lsp/gcl_info.lsp
+++++ gcl27-2.7.1/lsp/gcl_info.lsp
++@@ -96,18 +96,12 @@
++ 
++ (defun get-index-node ()
++  (or (third *current-info-data*) 
++-     (let* (
++-         s
++-         (node-string (car (nth 1 *current-info-data*)))
++-         (node
++-          (and node-string (car (get-nodes "Index" node-string)))))
++-       (when node
++-        (setq s (show-info
++-                 node
++-                 nil
++-                 nil
++-                 ))
++-     (setf (third *current-info-data*) s)))))
+++     (let* ((node-string (car (nth 1 *current-info-data*)))
+++         (nodes (when node-string (get-nodes "Index" node-string))))
+++       (when nodes
+++      (setf (third *current-info-data*)
+++            (reduce 'string-concatenate
+++                    (mapcar (lambda (x) (show-info x nil nil)) nodes)))))))
++ 
++ (defun nodes-from-index (pat  &aux (i 0) ans
++                            (*case-fold-search* t) *match-data*)
++--- gcl27-2.7.1.orig/o/format.c
+++++ gcl27-2.7.1/o/format.c
++@@ -160,11 +160,11 @@ object sSAindent_formatted_outputA;
++                      VOL int old_fmt_index; \
++                      VOL int old_fmt_end; \
++                      VOL object old_fmt_iteration_list; \
++-                     jmp_bufp   VOL old_fmt_jmp_bufp; \
+++                     jmp_bufp VOL old_fmt_jmp_bufp; \
++                      VOL int old_fmt_indents; \
++                      VOL object old_fmt_string ; \
++-                     VOL object(*old_fmt_advance)(void) ;    \
++-                     VOL void (*old_fmt_lt)(volatile bool,bool) ;    \
+++                     object(*VOL old_fmt_advance)(void) ;    \
+++                     void (*VOL old_fmt_lt)(volatile bool,bool) ;    \
++                         VOL format_parameter *old_fmt_paramp
++ #define      fmt_save        old_fmt_stream = fmt_stream; \
++                      old_ctl_origin = ctl_origin; \
++--- gcl27-2.7.1.orig/o/main.c
+++++ gcl27-2.7.1/o/main.c
++@@ -582,7 +582,7 @@ void
++ init_boot(void) {
++ 
++   char *sysd=getenv("GCL_SYSDIR"),*d=sysd ? sysd : kcl_self;
++-#ifndef __CYGWIN__
+++#ifdef USE_LIBBOOT
++   void *v,*q;
++ #endif
++   char *z,*s="libboot.so";
++@@ -592,14 +592,14 @@ init_boot(void) {
++   sSAoptimize_maximum_pagesA->s.s_dbind=Cnil;
++   z=alloca(n);
++   snprintf(z,n,"%-*.*s%s",(int)m,(int)m,d,s);
++-#ifndef __CYGWIN__
+++#ifdef USE_LIBBOOT
++   if (!(v=dlopen(z,RTLD_LAZY|RTLD_GLOBAL)))
++     printf("%s\n",dlerror());
++   if (!(q=dlsym(v,"gcl_init_boot")))
++     printf("%s\n",dlerror());
++ #endif
++   initializing_boot=1;
++-#ifdef __CYGWIN__
+++#ifndef USE_LIBBOOT
++   {
++     extern void gcl_init_boot(void);
++     gcl_init_boot();
++--- gcl27-2.7.1.orig/unixport/init_raw.lsp.in
+++++ gcl27-2.7.1/unixport/init_raw.lsp.in
++@@ -90,13 +90,13 @@
++ 
++ (in-package :compiler)
++ (setq *cc* @LI_CC@
++-      *default-prof-p* (> (length @LI_DFP@) 0)
++       *ld* @LI_LD@
++       *ld-libs* @LI_LD_LIBS@
++       *ld-libs* (concatenate 'string "-l" #+ansi-cl "ansi_" "gcl" #+gprof "_gprof" " " *ld-libs*)
++       *opt-three* @LI_OPT_THREE@
++       *opt-two* @LI_OPT_TWO@
++-      *init-lsp* @LI_INIT_LSP@)
+++      *init-lsp* @LI_INIT_LSP@
+++      si::*info-paths* (cons "@prefix@/share/info/" si::*info-paths*))
++ 
++ (import 'si::(clines defentry defcfun object void int double quit bye gbc system
++                   commonp *break-on-warnings* make-char char-bits char-font
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3d24baf6bfb8e2c17344223afbb53c71c8519b4c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++Description: Update to git tag Version_2_7_2pre1
++ Git tag update
++Forwarded: not-needed
++Author: Camm Maguire <camm@debian.org>
++
++--- gcl27-2.7.1.orig/git.tag
+++++ gcl27-2.7.1/git.tag
++@@ -1,2 +1,2 @@
++-"Version_2_7_0"
+++"Version_2_7_2ore1"
++ 
++--- gcl27-2.7.1.orig/o/alloc.c
+++++ gcl27-2.7.1/o/alloc.c
++@@ -707,6 +707,7 @@ empty_relblock(void) {
++   for (;!rb_emptyp();) {
++     tm_table[t_relocatable].tm_adjgbccnt--;
++     expand_contblock_index_space();
+++    expand_contblock_array();
++     GBC(t_relocatable);
++   }
++   sSAleaf_collection_thresholdA->s.s_dbind=o;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fbad1a98840be53ef3fe3e7a9e663b0fd83aa524
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,191 @@@
++From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
++From: Camm Maguire <camm@debian.org>
++Date: Feb, 22 2026 16:56:52 +0000
++Subject: [PATCH] <short summary of the patch>
++
++TODO: Put a short summary on the line above and replace this paragraph
++with a longer explanation of this change. Complete the meta-information
++with other relevant fields (see below for details). To make it easier, the
++information below has been extracted from the changelog. Adjust it or drop
++it.
++
++---
++The information above should follow the Patch Tagging Guidelines, please
++checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
++are templates for supplementary fields that you might want to add:
++
++Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
++Bug: <upstream-bugtracker-url>
++Bug-<Vendor>: <vendor-bugtracker-url>
++Forwarded: (no|not-needed|<patch-forwarded-url>)
++Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
++Reviewed-By: <name and email of someone who approved/reviewed the patch>
++
++--- gcl27-2.7.1.orig/Makefile.am
+++++ gcl27-2.7.1/Makefile.am
++@@ -110,7 +110,7 @@ endif
++ 
++ EXTRA_DIST=$(D_SRC) $(INCL_C) $(INIT_L) $(INCL_TEXI)\
++         lsp cmpnew mod pcl clcs ansi-tests elisp xbin bench \
++-        majvers minvers git.tag release
+++        majvers minvers git.tag release bin/c23.awk
++ 
++ # end of primaries
++ 
++@@ -123,7 +123,7 @@ INCL_TEXI=$(addprefix info/,$(addsuffix
++ 
++ INCL_C=o/sgbc.c o/gmp_big.c o/gmp.c o/gmp_num_log.c o/cmac.c o/regexp.c o/unexelf.c o/unexmacosx.c o/unexnt.c \
++        o/save.c o/xdrfuns.c o/fasdump.c o/usig2_aux.c o/sfaslelf.c o/sfaslmacho.c o/sfaslcoff.c gcl-tk/comm.c \
++-       o/sfasli.c o/firstfile.c o/lastfile.c
+++       o/sfasli.c o/firstfile.c o/lastfile.c o/pre_qfv.c
++ INIT_L=unixport/sys_init.c unixport/sys.c o/boot.c unixport/cinit.lisp
++ BASE_H= h/compbas2.h h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h h/eval.h h/fixnum.h h/frame.h \
++      h/funlink.h h/globals.h h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h h/lu.h h/make-init.h \
++@@ -459,8 +459,8 @@ h/cmpincludea.h: $(filter-out gclincl.h,
++              $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
++ 
++ o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
++-     chmod +x bin/c23.awk
++-     $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
+++     chmod +x $(word 3,$^)
+++     $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | $(word 3,$^) >$@
++ 
++ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
++      @cat $^ >new_$(@F)
++--- gcl27-2.7.1.orig/Makefile.in
+++++ gcl27-2.7.1/Makefile.in
++@@ -1017,7 +1017,7 @@ dist_noinst_DATA = $(am__append_5) $(am_
++ 
++ EXTRA_DIST = $(D_SRC) $(INCL_C) $(INIT_L) $(INCL_TEXI)\
++         lsp cmpnew mod pcl clcs ansi-tests elisp xbin bench \
++-        majvers minvers git.tag release
+++        majvers minvers git.tag release bin/c23.awk
++ 
++ 
++ # end of primaries
++@@ -1030,7 +1030,7 @@ INCL_TEXI = $(addprefix info/,$(addsuffi
++ 
++ INCL_C = o/sgbc.c o/gmp_big.c o/gmp.c o/gmp_num_log.c o/cmac.c o/regexp.c o/unexelf.c o/unexmacosx.c o/unexnt.c \
++        o/save.c o/xdrfuns.c o/fasdump.c o/usig2_aux.c o/sfaslelf.c o/sfaslmacho.c o/sfaslcoff.c gcl-tk/comm.c \
++-       o/sfasli.c o/firstfile.c o/lastfile.c
+++       o/sfasli.c o/firstfile.c o/lastfile.c o/pre_qfv.c
++ 
++ INIT_L = unixport/sys_init.c unixport/sys.c o/boot.c unixport/cinit.lisp
++ BASE_H = h/compbas2.h h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h h/eval.h h/fixnum.h h/frame.h \
++@@ -4907,8 +4907,8 @@ h/cmpincludea.h: $(filter-out gclincl.h,
++              $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
++ 
++ o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
++-     chmod +x bin/c23.awk
++-     $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
+++     chmod +x $(word 3,$^)
+++     $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | $(word 3,$^) >$@
++ 
++ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
++      @cat $^ >new_$(@F)
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp
++@@ -301,8 +301,11 @@
++       (unless (= nreq nsup) (list "_n==" (- (1+ nreq)) (unless st "&&")))
++       (unless st "_l==Cnil") ")"))
++ 
++-(defun mod-argstr (n call st nsup)
++-  (let* ((x (commasep (append (nobs nsup "#") (nobs (- n nsup)) (when st (list "_l")))))
+++(defun nobs-wrap (nobs sig &aux (at (car sig)))
+++  (mapcar (lambda (x y) (ms  (cdr (assoc y +to-c-var-alist+)) "(" x ")")) nobs at))
+++
+++(defun mod-argstr (n call st nsup sig)
+++  (let* ((x (commasep (append (nobs nsup "#") (nobs-wrap (nobs (- n nsup)) sig) (when st (list "_l")))))
++       (s (or (position #\# call) (length call))))
++     (ms (subseq call 0 s) x)))
++ 
++@@ -349,7 +352,7 @@
++       (let ((nl (list (string #\Newline) "        ")))
++      (ms (list "@" (nords (1+ nsup)) ";") 
++          "({" (bind-str nreq nsup nl) nl (cond-str nreq nsup st)  " ? " nl
++-         (nvfun-wrap cname (mod-argstr nreq argstr st nsup) sig clp ap) " : " nl
+++         (nvfun-wrap cname (mod-argstr nreq argstr st nsup sig) sig clp ap) " : " nl
++          (insufficient-arg-str fnstr nreq nsup sig st) ";})")))))
++ 
++ 
++@@ -490,14 +493,16 @@
++ 
++ 
++ (defun stub (num name args type clp
++-          &aux (va (eq '* (car (last args)))) (n (if va 1 0))(i (max n (- (length args) n)));FIXME
+++          &aux (va (eq '* (car (last args)))) (n (if va 1 0))
+++            (i (max n (- (length args) n)));FIXME
+++            (si (write-to-string i))
++             (d (declaration-type (rep-type (if (link-arg-p type) type t)))))
++   (concatenate
++    'string
++    (stub-decl (concatenate 'string "LnkT" num) args d t)
++    "{
++-      int nargs=" (if va "fcall.argd<0 ? -fcall.argd : fcall.argd" (write-to-string i)) ";
++-      object *FOO=alloca(nargs*sizeof(*FOO));
+++      int nargs=" (if va "fcall.argd<0 ? -fcall.argd : fcall.argd" si) ";
+++      object *FOO=alloca((nargs>" si "? nargs : " si ")*sizeof(*FOO));
++       "
++ 
++    (let ((j 0))
++@@ -512,9 +517,9 @@
++       "
++       {
++           va_list ap;
++-          va_start(ap,x" (write-to-string i) ");
+++          va_start(ap,x" si ");
++           int i;
++-          for (i=" (write-to-string i) ";i<nargs;i++) FOO[i]=va_arg(ap,object);
+++          for (i=" si ";i<nargs;i++) FOO[i]=va_arg(ap,object);
++           va_end(ap);
++       }"))
++ 
++--- gcl27-2.7.1.orig/git.tag
+++++ gcl27-2.7.1/git.tag
++@@ -1,2 +1,2 @@
++-"Version_2_7_2pre9"
+++"Version_2_7_2pre10"
++ 
++--- gcl27-2.7.1.orig/h/protoize.h
+++++ gcl27-2.7.1/h/protoize.h
++@@ -375,7 +375,7 @@ object funcall_vec(object,fixnum,object
++ #ifdef __MINGW32__
++ /* usig2.c:167:OF */ extern void main_signal_handler (int signo); /* (signo) int signo */
++ #else
++-/* /\* usig2.c:167:OF *\/ extern void main_signal_handler (int signo, siginfo_t *a, void *b); /\* (signo, a, b) int signo; int a; int b; *\/ */
+++/* usig2.c:167:OF */ void main_signal_handler(int,long,void *,char *) __attribute__((aligned (16)));
++ #endif
++ /* usig2.c:375:OF */ extern void raise_pending_signals (int cond); /* (cond) int cond; */
++ /* utils.c:12:OF */ extern object IisSymbol (object f); /* (f) object f; */
++--- gcl27-2.7.1.orig/h/sparc-linux.h
+++++ gcl27-2.7.1/h/sparc-linux.h
++@@ -12,7 +12,6 @@
++ #else
++ #define RELOC_H "elf64_sparc_reloc.h"
++ #define SPECIAL_RELOC_H "elf64_sparc_reloc_special.h"
++-void unwind() __attribute__((optimize("O0")));/*FIXME*/
++ #endif
++ 
++ /* #if SIZEOF_LONG == 8 */
++--- gcl27-2.7.1.orig/lsp/gcl_directory.lsp
+++++ gcl27-2.7.1/lsp/gcl_directory.lsp
++@@ -57,7 +57,7 @@
++                         (d (pathname-directory p))
++                         (c (unless (eq (car d) :absolute) (make-frame (namestring *current-directory*))))
++                         (lc (when c (length c)))
++-                        (filesp (or (pathname-name p) (pathname-type p)))
+++                        (filesp (not (and (eq (pathname-name p) :unspecific) (eq (pathname-type p) :unspecific))))
++                         (v (compile-regexp (to-regexp p)))(*up-key* :back) r)
++   (expand-wild-directory (pathname-device p) d
++    (lambda (dir exp &aux (pexp (pathname (if c (vector-push-string c exp 0 lc) exp))))
++--- gcl27-2.7.1.orig/o/usig.c
+++++ gcl27-2.7.1/o/usig.c
++@@ -47,8 +47,6 @@ Foundation, 675 Mass Ave, Cambridge, MA
++ 
++ extern char signals_handled[];
++ 
++-extern handler_function_type main_signal_handler;
++-
++ void
++ gcl_signal(int signo, void (*handler)(int,long,void *,char *))
++ {
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..030f99bba7ec7745df466744c22409437a91ad81
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,85 @@@
++From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
++From: Camm Maguire <camm@debian.org>
++Date: Feb, 26 2026 16:58:56 +0000
++Subject: [PATCH] <short summary of the patch>
++
++TODO: Put a short summary on the line above and replace this paragraph
++with a longer explanation of this change. Complete the meta-information
++with other relevant fields (see below for details). To make it easier, the
++information below has been extracted from the changelog. Adjust it or drop
++it.
++
++Bug-Debian: https://bugs.debian.org/1108096
++Bug-Debian: https://bugs.debian.org/1118704
++Bug-Debian: https://bugs.debian.org/1122744
++Bug-Debian: https://bugs.debian.org/1128546
++Bug-Debian: https://bugs.debian.org/1128663
++---
++The information above should follow the Patch Tagging Guidelines, please
++checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
++are templates for supplementary fields that you might want to add:
++
++Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
++Bug: <upstream-bugtracker-url>
++Bug-<Vendor>: <vendor-bugtracker-url>
++Forwarded: (no|not-needed|<patch-forwarded-url>)
++Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
++Reviewed-By: <name and email of someone who approved/reviewed the patch>
++
++--- gcl27-2.7.1.orig/ansi-tests/read-byte.lsp
+++++ gcl27-2.7.1/ansi-tests/read-byte.lsp
++@@ -96,7 +96,9 @@
++      (let ((s (open "foo.txt"
++                 :direction :input
++                 :element-type '(unsigned-byte 8))))
++-       (read-byte s))
+++       (unwind-protect
+++        (read-byte s)
+++      (close s)))
++      end-of-file))
++   t)
++ 
++--- gcl27-2.7.1.orig/git.tag
+++++ gcl27-2.7.1/git.tag
++@@ -1,2 +1 @@
++-"Version_2_7_2pre10"
++-
+++"Version_2_7_2pre11"
++--- gcl27-2.7.1.orig/h/protoize.h
+++++ gcl27-2.7.1/h/protoize.h
++@@ -73,7 +73,6 @@ struct key {short n,allow_other_keys;
++ /* bind.c:975:OF */ extern void set_key_struct (struct key *ks, object data); /* (ks, data) struct key *ks; object data; */
++ /* bind.c:995:OF */ extern void gcl_init_bind (void); /* () */
++ /* block.c:121:OF */ extern void gcl_init_block (void); /* () */
++-/* bsearch.c:5:OF */ extern void *bsearch (const void *key, const void *base, size_t nel, size_t keysize, int (*compar) (const void *,const void *)); /* (key, base, nel, keysize, compar) char *key; char *base; unsigned int nel; unsigned int keysize; int (*compar)(); */
++ #if defined (__MINGW32__)
++ /* bzero.c:3:OF */ /*  extern void bzero (char *b, size_t length); */ /* (b, length) char *b; int length; */
++ #endif
++--- gcl27-2.7.1.orig/lsp/gcl_make_pathname.lsp
+++++ gcl27-2.7.1/lsp/gcl_make_pathname.lsp
++@@ -43,7 +43,7 @@
++                                                (string-concatenate "(" (substitute #\^ #\! (subseq x 0 2)) (subseq x 2) ")")))
++                                        (cons #v"\\*" (lambda (x y) (declare (ignore x)) (if (plusp (length y)) (string-concatenate "([^" y "]*)") "(.*)")))
++                                        (cons #v"\\?" (lambda (x y) (declare (ignore x)) (if (plusp (length y)) (string-concatenate "([^" y "])") "(.)")))
++-                                       (cons #v"\\." (lambda (x y) (declare (ignore x y))"\\."))))
+++                                       (cons #v"[+|.^$()]" (lambda (x y) (declare (ignore x y))(string-concatenate "\\" x)))))
++ 
++ (defconstant +physical-pathname-defaults+ '(("" "" "" "")
++                                          ("" "" "" "")
++--- gcl27-2.7.1.orig/lsp/gcl_truename.lsp
+++++ gcl27-2.7.1/lsp/gcl_truename.lsp
++@@ -8,7 +8,13 @@
++         (fr (set-fr fr (if (eql i -1) n i)))
++         (l (when (eq (stat1 fr) :link) (readlinkat 0 fr))))
++       (cond (l (let ((b (if (eql #\/ (aref l 0)) 0 b)))
++-              (link-expand (concatenate 'string (set-fr fr b) l (frame (if (eql i -1) n i) n)) b)))
+++              (link-expand (concatenate
+++                            'string
+++                            (set-fr fr b)
+++                            (let ((ll (1- (length l))))
+++                              (if (eql #\/ (aref l ll)) (subseq l 0 ll) l))
+++                            (frame (if (eql i -1) n i) n))
+++                           b)))
++          ((eql i -1) str)
++          ((link-expand str (1+ i) n fr))))))
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..12d0bd82ab8929e975d989211bdfd84c8ee71dfb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2242 @@@
++Description: Update to git tag Version_2_7_2pre2
++ Git tag update
++Forwarded: not-needed
++Author: Camm Maguire <camm@debian.org>
++
++--- gcl27-2.7.1.orig/Makefile.am
+++++ gcl27-2.7.1/Makefile.am
++@@ -1,4 +1,5 @@
++-export C_INCLUDE_PATH=$(srcdir)/h:$(srcdir)/gcl-tk
+++C_INCLUDE_PATH:=$(srcdir)/h:$(srcdir)/gcl-tk:$(C_INCLUDE_PATH)
+++export C_INCLUDE_PATH
++ 
++ AM_CPPFLAGS=$(BASE_CPPFLAGS)
++ AM_CFLAGS=$(BASE_CFLAGS)
++@@ -244,14 +245,14 @@ unixport/saved_%: | unixport/raw_% unixp
++              ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
++              mkdir h && \
++              ln -snf ../../h/cmpinclude.h h/ && \
++-             GCL_LSPSYSDIR=../$(srcdir)/unixport/ \
++-                     ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ \
++-                         < <(cat ../unixport/init_raw.lsp <(echo "(system:save-system \"../$@\")")) && \
++-             rm -f ../unixport/gcl_cmpnopt.lsp
+++             echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
+++                     GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
+++                             ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/  && \
+++             rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
++      rm -rf sb_$*
++ 
++ unixport/raw_%: unixport/lib%.a
++-     $(CC) $(AM_LDFLAGS) -rdynamic -Wl,-z,relro $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
+++     $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
++ 
++ unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
++ unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
++@@ -309,7 +310,7 @@ unixport/mod_gcl:  | unixport/saved_mod_
++ unixport/pcl_gcl:  | unixport/saved_mod_gcl
++ unixport/ansi_gcl:  | unixport/saved_pcl_gcl
++ $(addprefix unixport/,gcl0 gcl1): unixport/% : unixport/cinit.lisp | %
++-     $(word 2,$|) < <(cat $< <(echo "(system:save-system \"$@\")"))
+++     echo "(system:save-system \"$@\")" | cat $< - | $(word 2,$|)
++ $(addprefix unixport/,gcl2 gcl3 gcl mod_gcl): unixport/% : | %
++      ln -snf $$(basename $(word 2,$|)) $@
++ 
++@@ -434,16 +435,16 @@ CMPINCLUDE_FILES=h/cmpincl1.h h/gclincl.
++ CLEANFILES+=h/cmpinclude.h h/mstdint.h h/cmpincludea.h h/mcompdefs.h
++ 
++ h/mstdint.h:
++-     echo "#include <stdint.h>" | $(CC) -E -I./h/ - | $(AWK) '/fsid/ {next} {print}' >$@
+++     echo "#include <stdint.h>" | $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | $(AWK) '/fsid/ {next} {print}' >$@
++ 
++ h/mcompdefs.h: h/compdefs.h h/new_decl.h
++      $(AWK) 'BEGIN {print "#include \"include.h\"";print "#include \"page.h\"";print "---"} {a=$$1;gsub("\\.\\.\\.","",a);print "\"#define " $$1 "\" " a}' $< |\
++-     $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -P -I./h/ - |\
+++     $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - |\
++      $(AWK) '/^\-\-\-$$/ {i=1;next} {if (!i) next} {gsub("\"","");print}' >$@
++ 
++ h/cmpincludea.h: $(filter-out gclincl.h,$(CMPINCLUDE_FILES)) | h/gclincl.h # FIXME!
++      cat $< $| $(filter-out $<,$^) | \
++-             $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -I./h/ - | \
+++             $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \
++              $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
++ 
++ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
++@@ -454,7 +455,7 @@ h/cmpinclude.h: h/mcompdefs.h h/cmpinclu
++ h/new_decl.h: $(INI_FILES)
++      echo '#include "make-decl.h"' > foo.c
++      cat $^ |sed 's,DEFBFUN,DEFUN,g' >> foo.c
++-     $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) foo.c | sed -n -e '/#/d' -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@
+++     $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) foo.c | sed -n -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@
++      rm -f foo.c
++ 
++ o/boot.h: %.h: %.ini
++@@ -472,7 +473,7 @@ o/boot.ini: CPPFLAGS += -DNO_BOOT_H
++ # parallel builds can only have one target accessing an intermediate file
++ # solved with BUILT_SOURCES
++ o/%.ini:  o/%.c | o/grab_defs
++-     @$(CPP) $(AM_CPPFLAGS) -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
+++     @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
++      @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
++      @rm -f new_$(@F)
++ 
++@@ -483,6 +484,16 @@ o/new_init.c: $(INI_FILES)
++      echo '}' >> $@
++      ! cat $@ | awk -F, '/DEFUN/ {print $$1,$$2}' | grep -v object || (rm $@ && false)
++ 
+++sbr_ansi-tests/random_test: ansi-tests | unixport/saved_ansi_gcl
+++     [ -d $(@D) ] || (mkdir $(@D) && cp $</*.lsp $(@D)) # FIXME testsuite in separate directory, hard
+++     cd $(@D) && \
+++     echo "(load \"gclload1\")" \
+++          "(compile-and-load \"random-int-form.lsp\")" \
+++          "(in-package :cl-test)" \
+++          "(let ((*random-state* (make-random-state t))) \
+++                   (test-random-integer-forms 100 4 10000))" | \
+++             GCL_MEM_BOUND=29 ../$| | tee $(@F) #FIXME MEM_BOUND
+++
++ sb_ansi-tests/test_results: ansi-tests | unixport/saved_ansi_gcl
++      [ -d $(@D) ] || (mkdir $(@D) && cp $</*.lsp $(@D)) # FIXME testsuite in separate directory, hard
++      cd $(@D) && echo '(load "gclload")' | ../$| |tee $(@F)
++@@ -577,7 +588,7 @@ clean_%:
++      rm -rf $* $(addprefix unixport/,$* lib$*.a saved_$* sys_$*.o gcl_cmpnopt_$*.lsp)
++ 
++ clean-local: $(addprefix clean_,pre_gcl $(MY_DIRS) gcl_gprof ansi_gcl_gprof)
++-     rm -rf sb_ansi-tests sb_cmpnew sb_bench
+++     rm -rf sb_ansi-tests sbr_ansi-tests sb_cmpnew sb_bench
++ 
++ distclean-local:
++      rm -rf gcl.script unixport/gcl.script #FIXME
++@@ -588,3 +599,18 @@ AM_ETAGSFLAGS=--regex='/[ \n\t\#\.`]*(de
++            --regex='/[ \n\t\#\.`]*(defmfun[ \n\t]+"[^ \n\t"]+"[ \n\t]+\([^ \n\t]+\)/\1/'
++ 
++ TAGS_FILES=lsp/*.lsp cmpnew/*.lsp mod/*.lsp pcl/*sp clcs/*sp xgcl-2/*p
+++
+++info/gcl.texi: $(addprefix info/,$(addsuffix .texi,\
+++                     chap-1 chap-2 chap-3 chap-4 chap-5 chap-6 chap-7 chap-8 chap-9 chap-10 chap-11 \
+++                     chap-12 chap-13 chap-14 chap-15 chap-16 chap-17 chap-18 chap-19 chap-20 chap-21 \
+++                     chap-22 chap-23 chap-24 chap-25 chap-26 chap-a))
+++     touch $@
+++
+++info/gcl-si.texi: $(addprefix info/,$(addsuffix .texi,\
+++                     number sequence character list io form compile \
+++                     symbol system structure iteration user-interface doc type internal c-interface \
+++                     si-defs debug misc compiler-defs japi))
+++     touch $@
+++
+++info/gcl-tk.texi: $(addprefix info/,$(addsuffix .texi,general widgets control))
+++     touch $@
++--- gcl27-2.7.1.orig/Makefile.in
+++++ gcl27-2.7.1/Makefile.in
++@@ -683,7 +683,6 @@ distcleancheck_listfiles = \
++   find . \( -type f -a \! \
++             \( -name .nfs* -o -name .smb* -o -name .__afs* \) \) -print
++ ACLOCAL = @ACLOCAL@
++-ALLOCA = @ALLOCA@
++ AMTAR = @AMTAR@
++ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
++ AUTOCONF = @AUTOCONF@
++@@ -839,6 +838,7 @@ target_alias = @target_alias@
++ top_build_prefix = @top_build_prefix@
++ top_builddir = @top_builddir@
++ top_srcdir = @top_srcdir@
+++C_INCLUDE_PATH := $(srcdir)/h:$(srcdir)/gcl-tk:$(C_INCLUDE_PATH)
++ AM_CPPFLAGS = $(BASE_CPPFLAGS)
++ AM_CFLAGS = $(BASE_CFLAGS)
++ AM_LDFLAGS = $(BASE_LDFLAGS)
++@@ -4528,7 +4528,7 @@ uninstall-man: uninstall-man1
++ 
++ .PRECIOUS: Makefile
++ 
++-export C_INCLUDE_PATH=$(srcdir)/h:$(srcdir)/gcl-tk
+++export C_INCLUDE_PATH
++ unixport/saved_gcl$(EXEEXT):
++ unixport/saved_ansi_gcl$(EXEEXT):
++ unixport/saved_gcl_gprof$(EXEEXT):
++@@ -4549,14 +4549,14 @@ unixport/saved_%: | unixport/raw_% unixp
++              ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
++              mkdir h && \
++              ln -snf ../../h/cmpinclude.h h/ && \
++-             GCL_LSPSYSDIR=../$(srcdir)/unixport/ \
++-                     ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ \
++-                         < <(cat ../unixport/init_raw.lsp <(echo "(system:save-system \"../$@\")")) && \
++-             rm -f ../unixport/gcl_cmpnopt.lsp
+++             echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
+++                     GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
+++                             ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/  && \
+++             rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
++      rm -rf sb_$*
++ 
++ unixport/raw_%: unixport/lib%.a
++-     $(CC) $(AM_LDFLAGS) -rdynamic -Wl,-z,relro $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
+++     $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
++ 
++ unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
++ unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
++@@ -4609,7 +4609,7 @@ unixport/mod_gcl:  | unixport/saved_mod_
++ unixport/pcl_gcl:  | unixport/saved_mod_gcl
++ unixport/ansi_gcl:  | unixport/saved_pcl_gcl
++ $(addprefix unixport/,gcl0 gcl1): unixport/% : unixport/cinit.lisp | %
++-     $(word 2,$|) < <(cat $< <(echo "(system:save-system \"$@\")"))
+++     echo "(system:save-system \"$@\")" | cat $< - | $(word 2,$|)
++ $(addprefix unixport/,gcl2 gcl3 gcl mod_gcl): unixport/% : | %
++      ln -snf $$(basename $(word 2,$|)) $@
++ 
++@@ -4726,16 +4726,16 @@ ansi_gcl/%.o: clcs/%.lisp | unixport/ans
++      cat $*.data >>$@
++ 
++ h/mstdint.h:
++-     echo "#include <stdint.h>" | $(CC) -E -I./h/ - | $(AWK) '/fsid/ {next} {print}' >$@
+++     echo "#include <stdint.h>" | $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | $(AWK) '/fsid/ {next} {print}' >$@
++ 
++ h/mcompdefs.h: h/compdefs.h h/new_decl.h
++      $(AWK) 'BEGIN {print "#include \"include.h\"";print "#include \"page.h\"";print "---"} {a=$$1;gsub("\\.\\.\\.","",a);print "\"#define " $$1 "\" " a}' $< |\
++-     $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -P -I./h/ - |\
+++     $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - |\
++      $(AWK) '/^\-\-\-$$/ {i=1;next} {if (!i) next} {gsub("\"","");print}' >$@
++ 
++ h/cmpincludea.h: $(filter-out gclincl.h,$(CMPINCLUDE_FILES)) | h/gclincl.h # FIXME!
++      cat $< $| $(filter-out $<,$^) | \
++-             $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -I./h/ - | \
+++             $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \
++              $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
++ 
++ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
++@@ -4746,7 +4746,7 @@ h/cmpinclude.h: h/mcompdefs.h h/cmpinclu
++ h/new_decl.h: $(INI_FILES)
++      echo '#include "make-decl.h"' > foo.c
++      cat $^ |sed 's,DEFBFUN,DEFUN,g' >> foo.c
++-     $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) foo.c | sed -n -e '/#/d' -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@
+++     $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) foo.c | sed -n -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@
++      rm -f foo.c
++ 
++ o/boot.h: %.h: %.ini
++@@ -4762,7 +4762,7 @@ o/boot.ini: CPPFLAGS += -DNO_BOOT_H
++ # parallel builds can only have one target accessing an intermediate file
++ # solved with BUILT_SOURCES
++ o/%.ini:  o/%.c | o/grab_defs
++-     @$(CPP) $(AM_CPPFLAGS) -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
+++     @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
++      @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
++      @rm -f new_$(@F)
++ 
++@@ -4773,6 +4773,16 @@ o/new_init.c: $(INI_FILES)
++      echo '}' >> $@
++      ! cat $@ | awk -F, '/DEFUN/ {print $$1,$$2}' | grep -v object || (rm $@ && false)
++ 
+++sbr_ansi-tests/random_test: ansi-tests | unixport/saved_ansi_gcl
+++     [ -d $(@D) ] || (mkdir $(@D) && cp $</*.lsp $(@D)) # FIXME testsuite in separate directory, hard
+++     cd $(@D) && \
+++     echo "(load \"gclload1\")" \
+++          "(compile-and-load \"random-int-form.lsp\")" \
+++          "(in-package :cl-test)" \
+++          "(let ((*random-state* (make-random-state t))) \
+++                   (test-random-integer-forms 100 4 10000))" | \
+++             GCL_MEM_BOUND=29 ../$| | tee $(@F) #FIXME MEM_BOUND
+++
++ sb_ansi-tests/test_results: ansi-tests | unixport/saved_ansi_gcl
++      [ -d $(@D) ] || (mkdir $(@D) && cp $</*.lsp $(@D)) # FIXME testsuite in separate directory, hard
++      cd $(@D) && echo '(load "gclload")' | ../$| |tee $(@F)
++@@ -4862,12 +4872,27 @@ clean_%:
++      rm -rf $* $(addprefix unixport/,$* lib$*.a saved_$* sys_$*.o gcl_cmpnopt_$*.lsp)
++ 
++ clean-local: $(addprefix clean_,pre_gcl $(MY_DIRS) gcl_gprof ansi_gcl_gprof)
++-     rm -rf sb_ansi-tests sb_cmpnew sb_bench
+++     rm -rf sb_ansi-tests sbr_ansi-tests sb_cmpnew sb_bench
++ 
++ distclean-local:
++      rm -rf gcl.script unixport/gcl.script #FIXME
++      rm -rf h/config.h #FIXME
++ 
+++info/gcl.texi: $(addprefix info/,$(addsuffix .texi,\
+++                     chap-1 chap-2 chap-3 chap-4 chap-5 chap-6 chap-7 chap-8 chap-9 chap-10 chap-11 \
+++                     chap-12 chap-13 chap-14 chap-15 chap-16 chap-17 chap-18 chap-19 chap-20 chap-21 \
+++                     chap-22 chap-23 chap-24 chap-25 chap-26 chap-a))
+++     touch $@
+++
+++info/gcl-si.texi: $(addprefix info/,$(addsuffix .texi,\
+++                     number sequence character list io form compile \
+++                     symbol system structure iteration user-interface doc type internal c-interface \
+++                     si-defs debug misc compiler-defs japi))
+++     touch $@
+++
+++info/gcl-tk.texi: $(addprefix info/,$(addsuffix .texi,general widgets control))
+++     touch $@
+++
++ # Tell versions [3.59,3.63) of GNU make to not export all variables.
++ # Otherwise a system limit (for SysV at least) may be exceeded.
++ .NOEXPORT:
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpinline.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpinline.lsp
++@@ -162,113 +162,28 @@
++ ;; (defmacro referred-length (info)
++ ;;   `(length (info-ref ,info)))
++ 
++-(defun imerge (x y list)
++-  (nunion x (intersection y list :test 'eq) :test 'eq))
++-(declaim (inline imerge))
+++(declaim (inline in-env-p))
+++(defun in-env-p (x)
+++  (typecase x
+++    (symbol t)
+++    (structure (or (member x *vars*) (member x *blocks*) (member x *tags*) (member x *funs*)))))
++ 
++ (defun add-info (to-info from-info)
++   ;; Allow nil from-info without error CM 20031030
++   (unless from-info (return-from add-info to-info))
++-  (macrolet ((mrg (field) `(let* ((r (,field from-info))) 
++-                           (when r
++-                             (setf (,field to-info) (imerge (,field to-info) r *vars*)
++-                                   (,field to-info) (imerge (,field to-info) r *blocks*)
++-                                   (,field to-info) (imerge (,field to-info) r *tags*)
++-                                   (,field to-info) (imerge (,field to-info) r *funs*))))))
+++  (macrolet ((mrg (field)
+++            `(setf (,field to-info)
+++                   (union (,field to-info)
+++                          (remove-if-not 'in-env-p (,field from-info))
+++                          :test 'eq))))
++          (mrg info-ch)
++          (mrg info-ref-ccb)
++          (mrg info-ref-clb)
++          (mrg info-ref))
++   (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
++-  (setf (info-ref to-info) (nunion (info-ref to-info) (remove-if-not 'symbolp (info-ref from-info))));FIXME nunion asym
++   (setf (info-ch-ccb to-info) (nunion (info-ch-ccb to-info) (info-ch-ccb from-info)))
++   to-info)
++ 
++-;; (defun add-info (to-info from-info)
++-;;   ;; Allow nil from-info without error CM 20031030
++-;;   (unless from-info (return-from add-info to-info))
++-;;   (macrolet ((mrg (field scrn) `(let* ((r (,field from-info))) (when r (setf (,field to-info) (imerge (,field to-info) r ,scrn)))))
++-;;        (mrg1 (field) `(let* ((r (,field from-info))) 
++-;;                         (when r
++-;;                           (setf (,field to-info) (imerge (,field to-info) r *vars*)
++-;;                                 (,field to-info) (imerge (,field to-info) r *blocks*)
++-;;                                 (,field to-info) (imerge (,field to-info) r *tags*)
++-;;                                 (,field to-info) (imerge (,field to-info) r *funs*))))))
++-;;       (mrg  info-ch        *vars*)
++-;;       (mrg1 info-ref-ccb)
++-;;       (mrg1 info-ref-clb)
++-;;       (mrg1 info-ref))
++-;;   (when (/= (info-sp-change from-info) 0) (setf (info-sp-change to-info) 1))
++-;;   (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
++-;;   to-info)
++-
++-;; (defun add-info (to-info from-info)
++-;;   ;; Allow nil from-info without error CM 20031030
++-;;   (unless from-info (return-from add-info to-info))
++-;;   (macrolet ((mrg (field scrn) `(let* ((r (,field from-info))) (when r (setf (,field to-info) (imerge (,field to-info) r ,scrn)))))
++-;;        (mrg1 (field) `(let* ((r (,field from-info))) 
++-;;                         (when r
++-;;                           (setf (,field to-info) (imerge (,field to-info) r *vars*)
++-;;                                 (,field to-info) (imerge (,field to-info) r *blocks*)
++-;;                                 (,field to-info) (imerge (,field to-info) r *tags*)
++-;;                                 (,field to-info) (imerge (,field to-info) r *funs*))))))
++-;;       (mrg info-ref       *vars*)
++-;;       (mrg info-ch        *vars*)
++-;;       (mrg info-blocks    *blocks*)
++-;;       (mrg info-tags      *tags*)
++-;;       (when *make-fast-ref*
++-;;         (mrg1 info-vref-ccb)
++-;;         (mrg1 info-vref-clb)
++-;;         (mrg1 info-vref)))
++-;;   (when (/= (info-sp-change from-info) 0) (setf (info-sp-change to-info) 1))
++-;;   (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
++-;;   to-info)
++-
++-;; (defun add-info (to-info from-info)
++-;;   ;; Allow nil from-info without error CM 20031030
++-;;   (unless from-info (return-from add-info to-info))
++-;;   (macrolet ((mrg (field scrn) `(let* ((r (,field from-info))) (when r (setf (,field to-info) (imerge (,field to-info) r ,scrn))))))
++-;;       (mrg info-ref       *vars*)
++-;;       (mrg info-ch        *vars*)
++-;;       (mrg info-blocks    *blocks*)
++-;;       (mrg info-tags      *tags*)
++-;;       (mrg info-vref-ccb  *vars*)
++-;;       (mrg info-vref-clb  *vars*)
++-;;       (mrg info-vref      *vars*)
++-;;       (mrg info-bref-ccb  *blocks*)
++-;;       (mrg info-bref-clb  *blocks*)
++-;;       (mrg info-bref      *blocks*)
++-;;       (mrg info-tref-ccb  *tags*)
++-;;       (mrg info-tref-clb  *tags*)
++-;;       (mrg info-tref      *tags*)
++-;;       (mrg info-fref-ccb  *funs*)
++-;; ;     (mrg info-fref-clb  *funs*)
++-;;       (mrg info-fref      *funs*))
++-;;   (when (/= (info-sp-change from-info) 0) (setf (info-sp-change to-info) 1))
++-;;   (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
++-;;   to-info)
++-
++-;;   (setf (info-ref to-info) (imerge (info-ref to-info) (info-ref from-info) *vars*)
++-;;   (info-ch to-info)  (imerge (info-ch to-info)  (info-ch from-info) *vars*)
++-;;   (info-blocks to-info) (imerge (info-blocks to-info) (info-blocks from-info) *blocks*)
++-;;   (info-tags to-info) (imerge (info-tags to-info) (info-tags from-info) *tags*)
++-;;   (info-vref-ccb to-info) (imerge (info-vref-ccb to-info) (info-vref-ccb from-info) *vars*)
++-;;   (info-vref-clb to-info) (imerge (info-vref-clb to-info) (info-vref-clb from-info) *vars*)
++-;;   (info-vref to-info) (imerge (info-vref to-info) (info-vref from-info) *vars*)
++-;;   (info-bref-ccb to-info) (imerge (info-bref-ccb to-info) (info-bref-ccb from-info) *blocks*)
++-;;   (info-bref-clb to-info) (imerge (info-bref-clb to-info) (info-bref-clb from-info) *blocks*)
++-;;   (info-bref to-info) (imerge (info-bref to-info) (info-bref from-info) *blocks*)
++-;;   (info-tref-ccb to-info) (imerge (info-tref-ccb to-info) (info-tref-ccb from-info) *tags*)
++-;;   (info-tref-clb to-info) (imerge (info-tref-clb to-info) (info-tref-clb from-info) *tags*)
++-;;   (info-tref to-info) (imerge (info-tref to-info) (info-tref from-info) *tags*)
++-;;   (info-fref-ccb to-info) (imerge (info-fref-ccb to-info) (info-fref-ccb from-info) *funs*)
++-;; ; (info-fref-clb to-info) (imerge (info-fref-clb to-info) (info-fref-clb from-info) *funs*)
++-;;   (info-fref to-info) (imerge (info-fref to-info) (info-fref from-info) *funs*)
++-;;   )
++-;;   (when (/= (info-sp-change from-info) 0) (setf (info-sp-change to-info) 1))
++-;;   (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
++-;;   to-info)
++-
++ (defconstant +c1nil+ (list 'LOCATION (make-info :type (object-type nil)) nil))
++ (defmacro c1nil () `+c1nil+)
++ (defconstant +c1t+ (list 'LOCATION (make-info :type (object-type t)) t))
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpmain.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpmain.lsp
++@@ -707,31 +707,6 @@ Cannot compile ~a.~%" (namestring (merge
++         do (setq m (si::fread tem 0 n st-b))
++         while (and m (> m 0))
++         do (si::fwrite tem 0 m st-a))))))
++-
++-#+dos
++-(progn
++-(defun directory (x &aux ans)
++-  (let* ((pa (pathname x))
++-      (temp "XXDIR")
++-      tem
++-      (name (pathname-name pa)))
++-    (setq pa (make-pathname :directory (pathname-directory pa)
++-                         :name (or (pathname-name pa) :wild)
++-                         :type (pathname-type pa)))
++-    (setq name (namestring pa))
++-    (safe-system (format nil "ls -d ~a > ~a" name temp))
++-    (with-open-file (st temp)
++-         (loop (setq tem (read-line st nil nil))
++-               (if (and tem (setq tem (probe-file tem)))
++-                   (push tem ans) (return))))
++-    ans))
++-
++-
++-(defun user-homedir-pathname ()
++-  (or (si::getenv "HOME") "/"))
++-
++-)
++-
++ ;
++ ;  These functions are added to build custom images requiring
++ ;  the loading of binary objects on systems relocating with dlopen.
++--- gcl27-2.7.1.orig/configure
+++++ gcl27-2.7.1/configure
++@@ -664,7 +664,6 @@ BASE_CFLAGS
++ NIFLAGS
++ FINAL_CFLAGS
++ BASE_LDFLAGS
++-ALLOCA
++ EXT
++ TCL_LIB_SPEC
++ TK_LIB_SPEC
++@@ -2189,65 +2188,6 @@ printf "%s\n" "$ac_res" >&6; }
++   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++ 
++ } # ac_fn_check_decl
++-
++-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
++-# -------------------------------------------
++-# Tests whether TYPE exists after having included INCLUDES, setting cache
++-# variable VAR accordingly.
++-ac_fn_c_check_type ()
++-{
++-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++-  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
++-printf %s "checking for $2... " >&6; }
++-if eval test \${$3+y}
++-then :
++-  printf %s "(cached) " >&6
++-else case e in #(
++-  e) eval "$3=no"
++-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++-/* end confdefs.h.  */
++-$4
++-int
++-main (void)
++-{
++-if (sizeof ($2))
++-      return 0;
++-  ;
++-  return 0;
++-}
++-_ACEOF
++-if ac_fn_c_try_compile "$LINENO"
++-then :
++-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++-/* end confdefs.h.  */
++-$4
++-int
++-main (void)
++-{
++-if (sizeof (($2)))
++-         return 0;
++-  ;
++-  return 0;
++-}
++-_ACEOF
++-if ac_fn_c_try_compile "$LINENO"
++-then :
++-
++-else case e in #(
++-  e) eval "$3=yes" ;;
++-esac
++-fi
++-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++-fi
++-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
++-esac
++-fi
++-eval ac_res=\$$3
++-            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++-printf "%s\n" "$ac_res" >&6; }
++-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++-
++-} # ac_fn_c_check_type
++ ac_configure_args_raw=
++ for ac_arg
++ do
++@@ -7155,9 +7095,10 @@ add_args_to_cflags  -fsigned-char -pipe
++                  -std=gnu17 \
++                  -Wall \
++                  -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
++-                 -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
+++                 -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \
+++                 -fbracket-depth=512
++ 
++-add_args_to_ldflags -no-pie # -Wl,-z,lazy
+++add_args_to_ldflags -no-pie -Wl,-z,relro # -Wl,-z,lazy
++ 
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline semantics" >&5
++ printf %s "checking for inline semantics... " >&6; }
++@@ -9600,10 +9541,11 @@ else case e in #(
++              #include <unistd.h>
++              int
++              main(int argc,char **argv,char **envp) {
++-                 FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r");
+++                 FILE *fp = fopen("conftest1","w"),*f;
++                  unsigned long i,j;
++                  char b[4096];
++                  i=(unsigned long)alloca(sizeof(void *));
+++                 f=fopen("/proc/self/maps","r");
++                  for (j=0;j<i && fgets(b,sizeof(b),f);)
++                      sscanf(b,"%x-",&j);
++                  j-=1;
++@@ -9648,11 +9590,12 @@ else case e in #(
++              #include <errno.h>
++              int
++              main(int argc,char **argv,char **envp) {
++-                 FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r");
+++                 FILE *fp = fopen("conftest1","w"),*f;
++                  unsigned long i,j;
++                  char b[4096],*stack_map_base;
++                  #include "$srcdir/h/cstack.h"
++                  i=(unsigned long)alloca(sizeof(void *));
+++                 f=fopen("/proc/self/maps","r");
++                  for (j=0;j<i && fgets(b,sizeof(b),f);)
++                      sscanf(b,"%x-",&j);
++                  j-=1;
++@@ -9911,30 +9854,8 @@ printf "%s\n" "bfd_arch_${output_arch}"
++          { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
++ printf "%s\n" "not found" >&6; }
++      fi
++-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking output_mach" >&5
++-printf %s "checking output_mach... " >&6; }
++-     output_mach=`cat gcl.script |grep OUTPUT_ARCH|head -n 1|sed 's,.*(\(.*\)).*,\1:,1'|cut -f2 -d:|tr '-' '_'|tr -d '.'`;
++ 
++-    if test "$output_mach" = "common" ; then #FIXME
++-        output_mach=""
++-     fi
++-     defaulted=""
++-    if test "$output_mach" = "" ; then
++-             if test "$output_arch" = "i386" ; then
++-                output_mach="i386_i386";
++-                defaulted="(defaulted)"
++-             fi
++-     fi
++-     if test "$output_mach" != "" ; then
++-
++-printf "%s\n" "#define OUTPUT_MACH bfd_mach_${output_mach}" >>confdefs.h
++ 
++-         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $defaulted bfd_mach_${output_mach}" >&5
++-printf "%s\n" "$defaulted bfd_mach_${output_mach}" >&6; }
++-     else
++-         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
++-printf "%s\n" "not found" >&6; }
++-     fi
++ 
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying to adjust text start" >&5
++ printf "%s\n" "$as_me: trying to adjust text start" >&6;}
++@@ -11372,6 +11293,75 @@ if test "x$ac_cv_header_dis_asm_h" = xye
++ then :
++   printf "%s\n" "#define HAVE_DIS_ASM_H 1" >>confdefs.h
++  MLIBS=$LIBS
+++
+++# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+++# -------------------------------------------
+++# Tests whether TYPE exists after having included INCLUDES, setting cache
+++# variable VAR accordingly.
+++ac_fn_c_check_type ()
+++{
+++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+++printf %s "checking for $2... " >&6; }
+++if eval test \${$3+y}
+++then :
+++  printf %s "(cached) " >&6
+++else case e in #(
+++  e) eval "$3=no"
+++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+++/* end confdefs.h.  */
+++$4
+++int
+++main (void)
+++{
+++if (sizeof ($2))
+++      return 0;
+++  ;
+++  return 0;
+++}
+++_ACEOF
+++if ac_fn_c_try_compile "$LINENO"
+++then :
+++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+++/* end confdefs.h.  */
+++$4
+++int
+++main (void)
+++{
+++if (sizeof (($2)))
+++         return 0;
+++  ;
+++  return 0;
+++}
+++_ACEOF
+++if ac_fn_c_try_compile "$LINENO"
+++then :
+++
+++else case e in #(
+++  e) eval "$3=yes" ;;
+++esac
+++fi
+++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+++fi
+++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+++esac
+++fi
+++eval ac_res=\$$3
+++            { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+++printf "%s\n" "$ac_res" >&6; }
+++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+++
+++} # ac_fn_c_check_type
+++ac_fn_c_check_type "$LINENO" "fprintf_styled_ftype" "ac_cv_type_fprintf_styled_ftype" "#include <dis-asm.h>
+++"
+++if test "x$ac_cv_type_fprintf_styled_ftype" = xyes
+++then :
+++
+++printf "%s\n" "#define HAVE_FPRINTF_STYLED_FTYPE 1" >>confdefs.h
+++
+++
+++fi
+++
++               { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for init_disassemble_info in -lopcodes" >&5
++ printf %s "checking for init_disassemble_info in -lopcodes... " >&6; }
++ if test ${ac_cv_lib_opcodes_init_disassemble_info+y}
++@@ -11670,171 +11660,6 @@ then :
++ 
++ fi
++ 
++-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
++-if test "x$ac_cv_type_size_t" = xyes
++-then :
++-
++-else case e in #(
++-  e)
++-printf "%s\n" "#define size_t unsigned int" >>confdefs.h
++- ;;
++-esac
++-fi
++-
++-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
++-# for constant arguments.  Useless!
++-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
++-printf %s "checking for working alloca.h... " >&6; }
++-if test ${ac_cv_working_alloca_h+y}
++-then :
++-  printf %s "(cached) " >&6
++-else case e in #(
++-  e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++-/* end confdefs.h.  */
++-#include <alloca.h>
++-int
++-main (void)
++-{
++-char *p = (char *) alloca (2 * sizeof (int));
++-                       if (p) return 0;
++-  ;
++-  return 0;
++-}
++-_ACEOF
++-if ac_fn_c_try_link "$LINENO"
++-then :
++-  ac_cv_working_alloca_h=yes
++-else case e in #(
++-  e) ac_cv_working_alloca_h=no ;;
++-esac
++-fi
++-rm -f core conftest.err conftest.$ac_objext conftest.beam \
++-    conftest$ac_exeext conftest.$ac_ext ;;
++-esac
++-fi
++-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
++-printf "%s\n" "$ac_cv_working_alloca_h" >&6; }
++-if test $ac_cv_working_alloca_h = yes; then
++-
++-printf "%s\n" "#define HAVE_ALLOCA_H 1" >>confdefs.h
++-
++-fi
++-
++-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
++-printf %s "checking for alloca... " >&6; }
++-if test ${ac_cv_func_alloca_works+y}
++-then :
++-  printf %s "(cached) " >&6
++-else case e in #(
++-  e) ac_cv_func_alloca_works=$ac_cv_working_alloca_h
++-if test "$ac_cv_func_alloca_works" != yes
++-then :
++-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++-/* end confdefs.h.  */
++-#include <stdlib.h>
++-#include <stddef.h>
++-#ifndef alloca
++-# ifdef __GNUC__
++-#  define alloca __builtin_alloca
++-# elif defined _MSC_VER
++-#  include <malloc.h>
++-#  define alloca _alloca
++-# else
++-#  ifdef  __cplusplus
++-extern "C"
++-#  endif
++-void *alloca (size_t);
++-# endif
++-#endif
++-
++-int
++-main (void)
++-{
++-char *p = (char *) alloca (1);
++-                                 if (p) return 0;
++-  ;
++-  return 0;
++-}
++-_ACEOF
++-if ac_fn_c_try_link "$LINENO"
++-then :
++-  ac_cv_func_alloca_works=yes
++-fi
++-rm -f core conftest.err conftest.$ac_objext conftest.beam \
++-    conftest$ac_exeext conftest.$ac_ext
++-fi ;;
++-esac
++-fi
++-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
++-printf "%s\n" "$ac_cv_func_alloca_works" >&6; }
++-
++-if test $ac_cv_func_alloca_works = yes; then
++-
++-printf "%s\n" "#define HAVE_ALLOCA 1" >>confdefs.h
++-
++-else
++-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
++-# that cause trouble.  Some versions do not even contain alloca or
++-# contain a buggy version.  If you still want to use their alloca,
++-# use ar to extract alloca.o from them instead of compiling alloca.c.
++-
++-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
++-
++-printf "%s\n" "#define C_ALLOCA 1" >>confdefs.h
++-
++-
++-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
++-printf %s "checking stack direction for C alloca... " >&6; }
++-if test ${ac_cv_c_stack_direction+y}
++-then :
++-  printf %s "(cached) " >&6
++-else case e in #(
++-  e) if test "$cross_compiling" = yes
++-then :
++-  ac_cv_c_stack_direction=0
++-else case e in #(
++-  e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++-/* end confdefs.h.  */
++-$ac_includes_default
++-int
++-find_stack_direction (int *addr, int depth)
++-{
++-  int dir, dummy = 0;
++-  if (! addr)
++-    addr = &dummy;
++-  *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
++-  dir = depth ? find_stack_direction (addr, depth - 1) : 0;
++-  return dir + dummy;
++-}
++-
++-int
++-main (int argc, char **argv)
++-{
++-  return find_stack_direction (0, argc + !argv + 20) < 0;
++-}
++-_ACEOF
++-if ac_fn_c_try_run "$LINENO"
++-then :
++-  ac_cv_c_stack_direction=1
++-else case e in #(
++-  e) ac_cv_c_stack_direction=-1 ;;
++-esac
++-fi
++-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++-  conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
++-esac
++-fi
++- ;;
++-esac
++-fi
++-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
++-printf "%s\n" "$ac_cv_c_stack_direction" >&6; }
++-printf "%s\n" "#define STACK_DIRECTION $ac_cv_c_stack_direction" >>confdefs.h
++-
++-
++-fi
++-
++-
++ 
++ #LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
++ LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
++--- gcl27-2.7.1.orig/configure.ac
+++++ gcl27-2.7.1/configure.ac
++@@ -232,9 +232,10 @@ add_args_to_cflags  -fsigned-char -pipe
++                  -std=gnu17 \
++                  -Wall \
++                  -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
++-                 -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
+++                 -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \
+++                 -fbracket-depth=512
++ 
++-add_args_to_ldflags -no-pie # -Wl,-z,lazy
+++add_args_to_ldflags -no-pie -Wl,-z,relro # -Wl,-z,lazy
++ 
++ AC_MSG_CHECKING([for inline semantics])
++ AC_COMPILE_IFELSE(
++@@ -1039,10 +1040,11 @@ if test $cstack_direction -eq 1 ; then
++              #include <unistd.h>
++              int
++              main(int argc,char **argv,char **envp) {
++-                 FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r");
+++                 FILE *fp = fopen("conftest1","w"),*f;
++                  unsigned long i,j;
++                  char b[4096];
++                  i=(unsigned long)alloca(sizeof(void *));
+++                 f=fopen("/proc/self/maps","r");
++                  for (j=0;j<i && fgets(b,sizeof(b),f);)
++                      sscanf(b,"%x-",&j);
++                  j-=1;
++@@ -1066,11 +1068,12 @@ if test $cstack_direction -eq 1 ; then
++              #include <errno.h>
++              int
++              main(int argc,char **argv,char **envp) {
++-                 FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r");
+++                 FILE *fp = fopen("conftest1","w"),*f;
++                  unsigned long i,j;
++                  char b[4096],*stack_map_base;
++                  #include "$srcdir/h/cstack.h"
++                  i=(unsigned long)alloca(sizeof(void *));
+++                 f=fopen("/proc/self/maps","r");
++                  for (j=0;j<i && fgets(b,sizeof(b),f);)
++                      sscanf(b,"%x-",&j);
++                  j-=1;
++@@ -1212,25 +1215,28 @@ if test "`cat gcl.script | wc -l`" != "0
++      else
++          AC_MSG_RESULT([not found])
++      fi
++-     AC_MSG_CHECKING([output_mach])
++-     output_mach=`cat gcl.script |grep OUTPUT_ARCH|head -n 1|sed 's,.*(\(.*\)).*,\1:,1'|cut -f2 -d:|tr '-' '_'|tr -d '.'`;
++ 
++-    if test "$output_mach" = "common" ; then #FIXME
++-        output_mach=""
++-     fi
++-     defaulted=""
++-    if test "$output_mach" = "" ; then
++-             if test "$output_arch" = "i386" ; then
++-                output_mach="i386_i386";
++-                defaulted="(defaulted)"
++-             fi
++-     fi
++-     if test "$output_mach" != "" ; then
++-         AC_DEFINE_UNQUOTED(OUTPUT_MACH,bfd_mach_${output_mach},[bfd output mach])
++-         AC_MSG_RESULT([$defaulted bfd_mach_${output_mach}])
++-     else
++-         AC_MSG_RESULT([not found])
++-     fi
+++     dnl FIXME this does not work reliably.  Defines added by hand to .h files, but this is fragile.
+++     dnl
+++     dnl AC_MSG_CHECKING([output_mach])
+++     dnl output_mach=`cat gcl.script |grep OUTPUT_ARCH|head -n 1|sed 's,.*(\(.*\)).*,\1:,1'|cut -f2 -d:|tr '-' '_'|tr -d '.'`;
+++
+++     dnl if test "$output_mach" = "common" ; then #FIXME
+++     dnl    output_mach=""
+++     dnl fi
+++     dnl defaulted=""
+++     dnl if test "$output_mach" = "" ; then
+++     dnl     if test "$output_arch" = "i386" ; then
+++     dnl        output_mach="i386_i386";
+++     dnl        defaulted="(defaulted)"
+++     dnl     fi
+++     dnl fi
+++     dnl if test "$output_mach" != "" ; then
+++     dnl     AC_DEFINE_UNQUOTED(OUTPUT_MACH,bfd_mach_${output_mach},[bfd output mach])
+++     dnl     AC_MSG_RESULT([$defaulted bfd_mach_${output_mach}])
+++     dnl else
+++     dnl     AC_MSG_RESULT([not found])
+++     dnl fi
++ 
++      AC_MSG_NOTICE([trying to adjust text start])
++      cp gcl.script gcl.script.def
++@@ -1740,6 +1746,7 @@ AC_CHECK_FUNCS(feenableexcept)
++ 
++ AC_CHECK_HEADERS(dis-asm.h,
++               MLIBS=$LIBS
+++              AC_CHECK_TYPES([fprintf_styled_ftype],[],[],[#include <dis-asm.h>])
++               AC_CHECK_LIB(opcodes,init_disassemble_info)
++               AC_CHECK_LIB(dl,dlopen,#opcodes changes too quickly to link directly
++                            AC_CHECK_FUNCS(print_insn_i386,LIBS="$MLIBS -ldl")))
++@@ -1841,8 +1848,6 @@ AC_CONFIG_FILES([bin/gcl])
++ 
++ AC_CHECK_HEADERS(sys/mman.h,AC_CHECK_FUNCS(mprotect))
++ AC_CHECK_HEADERS(alloca.h)
++-AC_FUNC_ALLOCA
++-
++ 
++ #LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
++ LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
++--- gcl27-2.7.1.orig/git.tag
+++++ gcl27-2.7.1/git.tag
++@@ -1,2 +1,2 @@
++-"Version_2_7_2ore1"
+++"Version_2_7_2ore2"
++ 
++--- /dev/null
+++++ gcl27-2.7.1/git_touch
++@@ -0,0 +1,7 @@
+++#!/bin/bash
+++
+++touch aclocal.m4 \
+++      configure.ac gcl-tk/gcltksrv.in bin/gcl.in unixport/init_raw.lsp.in h/gclincl.h.in \
+++      configure \
+++      Makefile.am Makefile.in \
+++      info/gcl.info info/gcl-si.info info/gcl-tk.info info/gcl-dwdoc.info
++--- gcl27-2.7.1.orig/h/386-linux.h
+++++ gcl27-2.7.1/h/386-linux.h
++@@ -9,3 +9,5 @@
++ #define SGC
++ 
++ #define RELOC_H "elf32_i386_reloc.h"
+++
+++#define OUTPUT_MACH bfd_mach_i386_i386
++--- gcl27-2.7.1.orig/h/386-macosx.h
+++++ gcl27-2.7.1/h/386-macosx.h
++@@ -21,23 +21,11 @@
++ #undef HAVE_ELF
++ 
++ 
++-/** sbrk(2) emulation  */
++-
++ /* Alternatively, we could use the global variable vm_page_size.  */
++ #define PAGEWIDTH 12
++ 
++-/* The following value determines the running process heap size.  */
++-/* #define BIG_HEAP_SIZE   0x50000000 */
++-
++-extern char *mach_mapstart;
++-extern char *mach_maplimit;
++-extern char *mach_brkpt;
++-
++-extern char *get_dbegin ();
++ 
++ #include <unistd.h> /* to get sbrk defined */
++-extern void *my_sbrk(long incr);
++-#define sbrk my_sbrk
++ 
++ 
++ /** (si::save-system "...") a.k.a. unexec implementation  */
++@@ -101,36 +89,7 @@ do {
++   sigaction (SIGSEGV, &sact, 0);                        \
++ } while (0);
++ 
++-/* si_addr not containing the faulting address is a bug in Darwin.
++-   Work around this by looking at the dar field of the exception state.  */
++ #define GET_FAULT_ADDR(sig,code,sv,a) ((siginfo_t *)code)->si_addr
++-/* #define GET_FAULT_ADDR(sig,code,scp,addr) ((char *) (((ucontext_t *) scp)->uc_mcontext->es.dar)) */
++-
++-/*
++-#include <signal.h>
++-#include <unistd.h>
++-#include <stdio.h>
++-#include <sys/ucontext.h>
++-
++-void handler (int sig, siginfo_t *info, void *scp)
++-{
++-     ucontext_t *uc = (ucontext_t *)scp;
++-     fprintf(stderr, "addr = 0x%08lx\n", uc->uc_mcontext->es.dar);
++-     _exit(99);
++-}
++-
++-int main(void)
++-{
++-     struct sigaction sact;
++-     int ret;
++-
++-     sigfillset(&(sact.sa_mask));
++-     sact.sa_flags = SA_SIGINFO;
++-     sact.sa_sigaction = (void (*)())handler;
++-     ret = sigaction (SIGBUS, &sact, 0);
++-     return *(int *)0x43;
++-}
++-*/
++ 
++ 
++ /** Misc stuff  */
++@@ -199,3 +158,7 @@ if (realpath (buf, fub) == 0) {
++ #include <sys/param.h>/*PATH_MAX MAXPATHLEN*/
++ #undef MIN
++ #undef MAX
+++
+++#undef sbrk
+++#define sbrk msbrk
+++#define INITIALIZE_BRK msbrk_init();
++--- gcl27-2.7.1.orig/h/aarch64-linux.h
+++++ gcl27-2.7.1/h/aarch64-linux.h
++@@ -5,3 +5,5 @@
++ 
++ #define NEED_STACK_CHK_GUARD
++ #define SGC
+++
+++#define OUTPUT_MACH bfd_mach_aarch64
++--- gcl27-2.7.1.orig/h/alpha-linux.h
+++++ gcl27-2.7.1/h/alpha-linux.h
++@@ -10,3 +10,5 @@
++ 
++ /*FIXME probe broken in recent kernels, no access*/
++ /* #define DEFINED_REAL_MAXPAGE (1UL<<18) /\*FIXME brk probe broken*\/ */
+++
+++#define OUTPUT_MACH bfd_mach_alpha_ev6
++--- gcl27-2.7.1.orig/h/amd64-linux.h
+++++ gcl27-2.7.1/h/amd64-linux.h
++@@ -14,3 +14,5 @@
++ #define MAX_CODE_ADDRESS (1L<<31)/*large memory model broken gcc 4.8*/
++ #define MAX_DEFAULT_MEMORY_MODEL_CODE_ADDRESS (1UL<<31)
++ #define LARGE_MEMORY_MODEL /*working -mcmodel=large giving unrestricted code load addresses*/
+++
+++#define OUTPUT_MACH bfd_mach_x86_64
++--- gcl27-2.7.1.orig/h/arm-linux.h
+++++ gcl27-2.7.1/h/arm-linux.h
++@@ -6,3 +6,5 @@
++ #define SPECIAL_RELOC_H "elf32_arm_reloc_special.h"
++ 
++ #define NEED_STACK_CHK_GUARD
+++
+++#define OUTPUT_MACH bfd_mach_arm_9
++--- gcl27-2.7.1.orig/h/armhf-linux.h
+++++ gcl27-2.7.1/h/armhf-linux.h
++@@ -6,3 +6,5 @@
++ #define SPECIAL_RELOC_H "elf32_armhf_reloc_special.h"
++ 
++ #define NEED_STACK_CHK_GUARD
+++
+++#define OUTPUT_MACH bfd_mach_arm_9
++--- gcl27-2.7.1.orig/h/cstack.h
+++++ gcl27-2.7.1/h/cstack.h
++@@ -34,17 +34,22 @@
++ {
++   void *p,*p1,*b,*s;
++   int a,f=MAP_FIXED|MAP_PRIVATE|MAP_ANON|MAP_STACK;
+++  int ss=
+++#ifdef CHECK_FOR_QEMU
+++    qemu_p() ? FIXED_STACK :
+++#endif
+++    SS;
++ 
++   p=alloca(1);
++   p1=alloca(1);
++-  b=CTOP-(p1<p ? SS : FIXED_STACK);
+++  b=CTOP-(p1<p ? ss : FIXED_STACK);
++   a=p1<p ? p-p1 : p1-p;
++   a<<=2;
++   s=p1<p ? CTOP-a : b+a;
++   if (p1<p) f|=MAP_GROWSDOWN;
++ 
++   if (p > CTOP || p < b) {
++-    if (mmap(b,SS,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) {
+++    if (mmap(b,ss,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) {
++       stack_map_base=b;
++       asm volatile (SET_STACK_POINTER::"r" (s):"memory");
++       if (p1>p)
++--- gcl27-2.7.1.orig/h/gclincl.h.in
+++++ gcl27-2.7.1/h/gclincl.h.in
++@@ -12,9 +12,6 @@
++ /* whether C stack grows up or down */
++ #undef CSTACK_DIRECTION
++ 
++-/* Define to 1 if using 'alloca.c'. */
++-#undef C_ALLOCA
++-
++ /* debug safecdr code */
++ #undef DEBUG_SAFE_CDR
++ 
++@@ -27,10 +24,7 @@
++ /* using gmp */
++ #undef GMP
++ 
++-/* Define to 1 if you have 'alloca', as a function or macro. */
++-#undef HAVE_ALLOCA
++-
++-/* Define to 1 if <alloca.h> works. */
+++/* Define to 1 if you have the <alloca.h> header file. */
++ #undef HAVE_ALLOCA_H
++ 
++ /* have __builtin__clear_cache instruction */
++@@ -72,6 +66,9 @@
++ /* Define to 1 if you have the <float.h> header file. */
++ #undef HAVE_FLOAT_H
++ 
+++/* Define to 1 if the system has the type 'fprintf_styled_ftype'. */
+++#undef HAVE_FPRINTF_STYLED_FTYPE
+++
++ /* Define to 1 if you have the 'getcwd' function. */
++ #undef HAVE_GETCWD
++ 
++@@ -261,9 +258,6 @@
++ /* bfd output arch */
++ #undef OUTPUT_ARCH
++ 
++-/* bfd output mach */
++-#undef OUTPUT_MACH
++-
++ /* Name of package */
++ #undef PACKAGE
++ 
++@@ -321,14 +315,6 @@
++ /* The size of 'short', as computed by sizeof. */
++ #undef SIZEOF_SHORT
++ 
++-/* If using the C implementation of alloca, define if you know the
++-   direction of stack growth for your system; otherwise it will be
++-   automatically deduced at runtime.
++-     STACK_DIRECTION > 0 => grows toward higher addresses
++-     STACK_DIRECTION < 0 => grows toward lower addresses
++-     STACK_DIRECTION = 0 => direction of growth unknown */
++-#undef STACK_DIRECTION
++-
++ /* staticly linked images */
++ #undef STATIC_LINKING
++ 
++@@ -461,6 +447,3 @@
++ 
++ /* short gmp3 limbs */
++ #undef __SHORT_LIMB
++-
++-/* Define as 'unsigned int' if <stddef.h> doesn't define. */
++-#undef size_t
++--- gcl27-2.7.1.orig/h/hppa-linux.h
+++++ gcl27-2.7.1/h/hppa-linux.h
++@@ -17,3 +17,5 @@
++ 
++ #define RELOC_H "elf32_hppa_reloc.h"
++ #define SPECIAL_RELOC_H "elf32_hppa_reloc_special.h"
+++
+++#define OUTPUT_MACH bfd_mach_hppa11
++--- gcl27-2.7.1.orig/h/loongarch64-linux.h
+++++ gcl27-2.7.1/h/loongarch64-linux.h
++@@ -10,3 +10,5 @@
++ /* #define MAX_CODE_ADDRESS (1L<<31)/\*large memory model broken gcc 4.8*\/ */
++ 
++ #define NEED_STACK_CHK_GUARD
+++
+++#define OUTPUT_MACH bfd_mach_loongarch64
++--- gcl27-2.7.1.orig/h/m68k-linux.h
+++++ gcl27-2.7.1/h/m68k-linux.h
++@@ -56,3 +56,5 @@ int cacheflush(void *,int,int,int);
++ #define NEED_STACK_CHK_GUARD
++ 
++ /* #define DEFINED_REAL_MAXPAGE (1UL<<18) /\*FIXME brk probe broken*\/ */
+++
+++#define OUTPUT_MACH bfd_mach_m68060
++--- gcl27-2.7.1.orig/h/mipsel-linux.h
+++++ gcl27-2.7.1/h/mipsel-linux.h
++@@ -1,3 +1,5 @@
++ #include "linux.h"
++ 
++ #define SGC
+++
+++#define OUTPUT_MACH bfd_mach_mipsisa64r6
++--- gcl27-2.7.1.orig/h/powerpc-linux.h
+++++ gcl27-2.7.1/h/powerpc-linux.h
++@@ -11,6 +11,7 @@
++ 
++ #if SIZEOF_LONG == 4
++ #define RELOC_H "elf32_ppc_reloc.h"
+++#define OUTPUT_MACH bfd_mach_ppc
++ #else
++ #ifdef WORDS_BIGENDIAN
++ #define RELOC_H "elf64_ppc_reloc.h"
++@@ -20,5 +21,6 @@
++ #define RELOC_H "elf64_ppcle_reloc.h"
++ #define SPECIAL_RELOC_H "elf64_ppcle_reloc_special.h"
++ #endif
+++#define OUTPUT_MACH bfd_mach_ppc64
++ #define C_GC_OFFSET 4
++ #endif
++--- gcl27-2.7.1.orig/h/riscv64-linux.h
+++++ gcl27-2.7.1/h/riscv64-linux.h
++@@ -9,3 +9,5 @@
++ /* #define MAX_CODE_ADDRESS (1L<<31)/\*large memory model broken gcc 4.8*\/ */
++ 
++ #define NEED_STACK_CHK_GUARD
+++
+++#define OUTPUT_MACH bfd_mach_riscv64
++--- gcl27-2.7.1.orig/h/s390-linux.h
+++++ gcl27-2.7.1/h/s390-linux.h
++@@ -6,6 +6,9 @@
++ #define C_GC_OFFSET 4
++ #define RELOC_H "elf64_s390_reloc.h"
++ #define SPECIAL_RELOC_H "elf64_sparc_reloc_special.h"
+++#define OUTPUT_MACH #define bfd_mach_s390_64
++ #else
++ #define RELOC_H "elf32_s390_reloc.h"
+++#define OUTPUT_MACH #define bfd_mach_s390_32
++ #endif
+++
++--- gcl27-2.7.1.orig/h/sh4-linux.h
+++++ gcl27-2.7.1/h/sh4-linux.h
++@@ -21,3 +21,5 @@
++ #define NEED_STACK_CHK_GUARD
++ 
++ /* #define DEFINED_REAL_MAXPAGE (1UL<<18) /\*FIXME brk probe broken*\/ */
+++
+++#define OUTPUT_MACH bfd_mach_sh4
++--- gcl27-2.7.1.orig/h/sparc-linux.h
+++++ gcl27-2.7.1/h/sparc-linux.h
++@@ -18,3 +18,5 @@ void unwind() __attribute__((optimize("O
++ /* #if SIZEOF_LONG == 8 */
++ /* #define C_GC_OFFSET 4 */
++ /* #endif */
+++
+++#define OUTPUT_MACH bfd_mach_sparc_v9
++--- gcl27-2.7.1.orig/info/character.texi
+++++ gcl27-2.7.1/info/character.texi
++@@ -40,14 +40,14 @@ This is faster than CHAR.
++ @end defun
++ 
++ @defvr {Constant} CHAR-SUPER-BIT 
++-Package:LISP
+++Package:SI
++ The bit that indicates a super character.
++ 
++ 
++ @end defvr
++ 
++ @defvr {Constant} CHAR-FONT-LIMIT 
++-Package:LISP
+++Package:SI
++ The upper exclusive bound on values produced by CHAR-FONT.
++ 
++ 
++@@ -63,7 +63,7 @@ If not, simply returns CHAR.
++ @end defun
++ 
++ @defun STRING-CHAR-P (char)
++-Package:LISP
+++Package:SI
++ 
++ Returns T if CHAR can be stored in a string.  In GCL, this function always
++ returns T since any character in GCL can be stored in a string.
++@@ -113,7 +113,7 @@ otherwise.
++ @end defun
++ 
++ @defvr {Constant} CHAR-HYPER-BIT 
++-Package:LISP
+++Package:SI
++ The bit that indicates a hyper character.
++ 
++ 
++@@ -137,7 +137,7 @@ Returns the code attribute of CHAR.
++ @end defun
++ 
++ @defvr {Constant} CHAR-CONTROL-BIT 
++-Package:LISP
+++Package:SI
++ The bit that indicates a control character.
++ 
++ 
++@@ -154,7 +154,7 @@ is used.
++ @end defun
++ 
++ @defun CHAR-FONT (char)
++-Package:LISP
+++Package:SI
++ 
++ Returns the font attribute of CHAR.
++ 
++@@ -179,7 +179,7 @@ otherwise.
++ @end defun
++ 
++ @defvr {Constant} CHAR-META-BIT 
++-Package:LISP
+++Package:SI
++ The bit that indicates a meta character.
++ 
++ 
++@@ -204,7 +204,7 @@ Upper case character and its lower case
++ @end defun
++ 
++ @defvr {Constant} CHAR-BITS-LIMIT 
++-Package:LISP
+++Package:SI
++ The upper exclusive bound on values produced by CHAR-BITS.
++ 
++ 
++@@ -243,7 +243,7 @@ Returns T if CHAR is an upper-case chara
++ @end defun
++ 
++ @defun CHAR-BIT (char name)
++-Package:LISP
+++Package:SI
++ 
++ Returns T if the named bit is on in the character CHAR; NIL otherwise.
++ In GCL, this function always returns NIL.
++@@ -252,7 +252,7 @@ In GCL, this function always returns NIL
++ @end defun
++ 
++ @defun MAKE-CHAR (char &optional (bits 0) (font 0))
++-Package:LISP
+++Package:SI
++ 
++ Returns a character object with the same code attribute as CHAR and with
++ the specified BITS and FONT attributes.
++@@ -350,7 +350,7 @@ Returns T if CHAR is either numeric or a
++ @end defun
++ 
++ @defun CHAR-BITS (char)
++-Package:LISP
+++Package:SI
++ 
++ Returns the bits attribute (which is always 0 in GCL) of CHAR.
++ 
++@@ -367,7 +367,7 @@ Returns NIL if no such character exists.
++ @end defun
++ 
++ @defun SET-CHAR-BIT (char name newvalue)
++-Package:LISP
+++Package:SI
++ 
++ Returns a character just like CHAR except that the named bit is set or
++ cleared, according to whether NEWVALUE is non-NIL or NIL.  This function
++--- gcl27-2.7.1.orig/info/compile.texi
+++++ gcl27-2.7.1/info/compile.texi
++@@ -20,7 +20,7 @@ NIL, these files are automatically delet
++ @end defun
++ 
++ @defun LINK (files image &optional post extra-libs (run-user-init t) &aux raw init) 
++-Package:LISP
+++Package:COMPILER
++ 
++ On systems where dlopen is used for relocations, one cannot make custom
++ images containing loaded binary object files simply by loading the files
++@@ -242,24 +242,6 @@ their lisp names.  Please see also the P
++ 
++ @end defun
++ 
++-
++-@defun GPROF-SET (begin end)
++-Package:SYSTEM
++-
++-GCL now has preliminary support for profiling with gprof, an
++-externally supplied profiling tool at the C level which typically
++-accompanies gcc.  Support must be enabled at compile time with
++---enable-gprof.  This function sets the address range used by
++-GPROF-START in specifying the section of the running program which is
++-to be profiled.  All subsequent calls to GPROF-START will use this new
++-address range.  By default, the range is set to begin at the starting
++-address of the .text section, and to end at the current end of the
++-running core.  These default values can be restored by calling
++-GPROF-SET with both argments set to 0.
++-
++-@end defun
++-
++-
++ @defvar *DEFAULT-SYSTEM-P*
++ Package:COMPILER
++ Specifies the default setting of :SYSTEM-P used by COMPILE.  Defaults to NIL.
++--- gcl27-2.7.1.orig/info/compiler-defs.texi
+++++ gcl27-2.7.1/info/compiler-defs.texi
++@@ -102,7 +102,7 @@ or
++ @end example
++ 
++ @end defun
++-@defun COMPILER-DEFAULT-TYPE  (pathname)
+++@defun *COMPILER-DEFAULT-TYPE*  (pathname)
++ Package:COMPILER
++ 
++ Allows you to set the default file extension for compiler source files.
++@@ -150,13 +150,6 @@ NIL
++ 
++ 
++ @end defun
++-@defun  COMPILER-RESET-TYPE ()
++-Package:COMPILER
++-
++-Resets the default compiler input file extension to the GCL historical
++-value of #''.lsp''.
++-
++-@end defun
++ @defvar *CC* 
++ Package:COMPILER
++ Has value a string which controls which C compiler is used by GCL.
++--- gcl27-2.7.1.orig/info/form.texi
+++++ gcl27-2.7.1/info/form.texi
++@@ -9,7 +9,7 @@ List of all the lambda-list keywords use
++ @end defvr
++ 
++ @defun GET-SETF-METHOD (form)
++-Package:LISP
+++Package:SI
++ 
++ Returns the five values (or five 'gangs') constituting the SETF method for
++ FORM.  See the doc of DEFINE-SETF-METHOD for the meanings of the gangs.  It
++@@ -345,7 +345,7 @@ Also, see the function doc of PPRINT for
++ @end deffn
++ 
++ @defvar *EVALHOOK* 
++-Package:LISP
+++Package:SI
++ If *EVALHOOK* is not NIL, its value must be a function that can receive
++ two arguments: a form to evaluate and an environment.  This function does
++ the evaluation instead of EVAL.
++@@ -521,7 +521,7 @@ a function.  Actually, however, there is
++ @end defvr
++ 
++ @defun APPLYHOOK (function args evalhookfn applyhookfn &optional (env nil))
++-Package:LISP
+++Package:SI
++ 
++ Applies FUNCTION to ARGS, with *EVALHOOK* bound to EVALHOOKFN and with
++ *APPLYHOOK* bound to APPLYHOOKFN.  Ignores the hook function once, for the
++@@ -682,7 +682,7 @@ TEST.  Returns NIL, if all TESTs evaluat
++ @end deffn
++ 
++ @defun GET-SETF-METHOD-MULTIPLE-VALUE  (form)
++-Package:LISP
+++Package:SI
++  Returns the five values (or five 'gangs')
++ constituting the SETF method for FORM.  See the doc of
++ DEFINE-SETF-METHOD for the meanings of the gangs.  The third value
++@@ -769,7 +769,7 @@ returns the value(s) of the last FORM.
++ @end deffn
++ 
++ @deffn {Macro} DEFINE-SETF-METHOD 
++-Package:LISP
+++Package:SI
++ 
++ Syntax:
++ @example
++@@ -799,7 +799,7 @@ by (documentation 'NAME 'setf).
++ @end deffn
++ 
++ @deffn {Special Form} COMPILER-LET 
++-Package:LISP
+++Package:SI
++ 
++ Syntax:
++ @example
++@@ -891,7 +891,7 @@ Creates a NIL block, binds VARs in paral
++ @end deffn
++ 
++ @defvar *APPLYHOOK* 
++-Package:LISP
+++Package:SI
++ Used to substitute another function for the implicit APPLY normally done
++ within EVAL.  If *APPLYHOOK* is not NIL, its value must be a function 
++ which takes three arguments: a function to be applied, a list of arguments,
++@@ -1032,7 +1032,7 @@ form.
++ @end deffn
++ 
++ @defun EVALHOOK (form evalhookfn applyhookfn &optional (env nil))
++-Package:LISP
+++Package:SI
++ 
++ Evaluates FORM with *EVALHOOK* bound to EVALHOOKFN and *APPLYHOOK* bound
++ to APPLYHOOKFN.  Ignores these hooks once, for the top-level evaluation
++--- gcl27-2.7.1.orig/info/internal.texi
+++++ gcl27-2.7.1/info/internal.texi
++@@ -2,7 +2,7 @@
++ @chapter GCL Specific
++ 
++ @defun SYSTEM (string)
++-Package:LISP
+++Package:SI
++ 
++ GCL specific: Executes a Shell command as if STRING is an input to the
++ Shell.  Not all versions of GCL support this function.  At least on
++@@ -49,16 +49,8 @@ on which GCL is currently running.
++ 
++ @end defun
++ 
++-@defun BY ()
++-Package:LISP
++-
++-GCL specific: Exits from GCL.
++-
++-
++-@end defun
++-
++ @deffn {Macro} DEFCFUN 
++-Package:LISP
+++Package:SI
++ 
++ Syntax:
++ @example
++@@ -126,7 +118,7 @@ C-type:
++ @end deffn
++ 
++ @deffn {Macro} CLINES 
++-Package:LISP
+++Package:SI
++ 
++ Syntax:
++ @example
++@@ -148,7 +140,7 @@ specified in the environment.
++ @end defun
++ 
++ @defun ALLOCATE (type number &optional (really-allocate nil))
++-Package:LISP
+++Package:SI
++ 
++ GCL specific: Sets the maximum number of pages for the type class of the
++ GCL implementation type TYPE to NUMBER.  If REALLY-ALLOCATE is given a
++@@ -159,7 +151,7 @@ immediately.
++ @end defun
++ 
++ @defun GBC (x)
++-Package:LISP
+++Package:SI
++ 
++ GCL specific: Invokes the garbage collector (GC) with the collection level
++ specified by X.  NIL as the argument causes GC to collect cells only.  T as
++@@ -169,7 +161,7 @@ the argument causes GC to collect everyt
++ @end defun
++ 
++ @defun SAVE (pathname)
++-Package:LISP
+++Package:SI
++ 
++ GCL specific: Saves the current GCL core image into a program file specified
++ by PATHNAME.  This function depends on the version of GCL.  The function
++@@ -180,7 +172,7 @@ currently loaded .o files.
++ @end defun
++ 
++ @defun HELP* (string &optional (package 'lisp))
++-Package:LISP
+++Package:USER
++ 
++ GCL specific: Prints the documentation associated with those symbols in the
++ specified package whose print names contain STRING as substring.  STRING may
++@@ -191,7 +183,7 @@ is NIL, then all packages are searched.
++ @end defun
++ 
++ @deffn {Macro} DEFLA 
++-Package:LISP
+++Package:SI
++ 
++ Syntax:
++ @example
++@@ -214,7 +206,7 @@ NIL otherwise.  See the doc of DECLARE f
++ @end defun
++ 
++ @deffn {Macro} DEFENTRY 
++-Package:LISP
+++Package:SI
++ 
++ Syntax:
++ @example
++@@ -282,7 +274,7 @@ implementation dependent results.
++ @end defun
++ 
++ @defun BYE ( &optional (exit-status 0))
++-Package:LISP
+++Package:SI
++ 
++ GCL specific: Exits from GCL with exit-status.
++ 
++@@ -290,7 +282,7 @@ GCL specific: Exits from GCL with exit-s
++ @end defun
++ 
++ @defun USE-FAST-LINKS (turn-on)
++-Package:LISP
+++Package:SI
++ 
++ GCL specific: If TURN-ON is not nil, the fast link mechanism is enabled,
++ so that ordinary function calls will not appear in the invocation stack,
++--- gcl27-2.7.1.orig/info/number.texi
+++++ gcl27-2.7.1/info/number.texi
++@@ -86,7 +86,7 @@ BIT-ARRAY1 if RESULT-BIT-ARRAY is T, or
++ @end defun
++ 
++ @defun INT-CHAR (integer)
++-Package:LISP
+++Package:SI
++ 
++ Performs the inverse of CHAR-INT.  Equivalent to CODE-CHAR in GCL.
++ 
++--- gcl27-2.7.1.orig/info/si-defs.texi
+++++ gcl27-2.7.1/info/si-defs.texi
++@@ -41,14 +41,6 @@ calling this the defstruct should not be
++ 
++ 
++ @end defun
++-@defun MAXIMUM-ALLOCATABLE-PAGES (type)
++-Package:SI
++-
++-GCL specific: Returns the current maximum number of pages for the type class
++-of the GCL implementation type TYPE.
++-
++-
++-@end defun
++ @defun ALLOCATED-RELOCATABLE-PAGES ()
++ Package:SI
++ 
++@@ -64,14 +56,6 @@ Give SYMBOL the VALUE on INDICATOR prope
++ 
++ 
++ @end defun
++-@defun ALLOCATED-PAGES (type)
++-Package:SI
++-
++-GCL specific: Returns the number of pages currently allocated for the type
++-class of the GCL implementation type TYPE.
++-
++-
++-@end defun
++ @defun ALLOCATE-RELOCATABLE-PAGES (number)
++ Package:SI
++ 
++@@ -420,18 +404,6 @@ type.
++ 
++ 
++ @end defun
++-@defun CATCH-BAD-SIGNALS ()
++-Package:SI
++-
++-GCL/BSD specific: Installs a signal catcher for bad signals:
++-     SIGILL, SIGIOT, SIGEMT, SIGBUS, SIGSEGV, SIGSYS.
++-The signal catcher, upon catching the signal, signals an error (and enter
++-the break-level).  Since the internal memory of GCL may be broken, the user
++-should check the signal and exit from GCL if necessary.  When the signal
++-is caught during garbage collection, GCL terminates immediately.
++-
++-
++-@end defun
++ @defun RESET-STACK-LIMITS ()
++ Package:SI
++ 
++@@ -450,7 +422,7 @@ should be set NIL.
++ 
++ 
++ @end defvar
++-@defvar *GBC-NOTIFY* 
+++@defvar *NOTIFY-GBC*
++ Package:SI
++ GCL specific: If the value is non-NIL, the garbage
++ collector prints a very brief one line message about the area causing the collection,
++@@ -465,7 +437,7 @@ a lisp variable indicating the TYPE whic
++ 
++ 
++ @end defvar
++-@deffn {Funcition} ALLOCATED (type)
+++@deffn {Function} ALLOCATED (type)
++ Package:SI
++ 
++ Returns 6 values:
++@@ -572,13 +544,6 @@ resetting io streams.   It would not be
++ 
++ 
++ @end defun
++-@defun UNCATCH-BAD-SIGNALS ()
++-Package:SI
++-
++-GCL/BSD specific: Undoes the effect of SI:CATCH-BAD-SIGNALS.
++-
++-
++-@end defun
++ @defun VS (i)
++ Package:SI
++ 
++@@ -601,13 +566,6 @@ the GCL process.
++ 
++ 
++ @end defun
++-@defvar *DEFAULT-TIME-ZONE* 
++-Package:SI
++-GCL specific: Holds the default time zone.  The initial value of SI:*DEFAULT-
++-TIME-ZONE* is 6 (the time zone of Austin, Texas).
++-
++-
++-@end defvar
++ @defun GETENV (string)
++ Package:SI
++ 
++@@ -660,47 +618,36 @@ stack.
++ 
++ 
++ @end defun
++-@defun WRITE-DEBUG-SYMBOLS (start file &key (main-file "/usr/local/schelter/xgcl/unixport/raw_gcl") (output-file "debug-symbols.o" ))
++-Package:SI
++-
++-Write out a file of debug-symbols using address START as the place
++-where FILE will be loaded into the running executable MAIN-FILE.  The
++-last is a keyword argument.
++-
+++@c @defun PROF (x y)
+++@c Package:SI
++ 
+++@c These functions in the SI package are GCL specific, and allow monitoring
+++@c the run time of functions loaded into GCL, as well as the basic functions.
+++@c  Sample Usage:
+++@c     (si::set-up-profile 1000000) (si::prof 0 90)
+++@c      run program
+++@c     (si::prof 0 0)   ;; turn off profile
+++@c     (si::display-prof)
+++@c     (si::clear-profile)
+++@c     (si::prof 0 90)  ;; start profile again
+++@c     run program
+++@c    ..
+++@c   Profile can be stopped with (si::prof 0 0) and restarted with (si::prof 0 90)
+++@c The START-ADDRESS will correspond to the beginning of the profile array, and
+++@c the SCALE will mean that 256 bytes of code correspond to SCALE bytes in the
+++@c profile array.
+++
+++@c Thus if the profile array is 1,000,000  bytes long and the code segment is 
+++@c 5 megabytes long you can profile the whole thing using a scale of 50
+++@c Note that long runs may result in overflow, and so an understating of the
+++@c time in a function.
+++
+++@c You must run intensively however since, with a scale of 128 it takes
+++@c 6,000,000 times through a loop to overflow the sampling in one part of
+++@c the code.
++ 
++ 
++-@end defun
++-@defun PROF (x y)
++-Package:SI
++-
++-These functions in the SI package are GCL specific, and allow monitoring
++-the run time of functions loaded into GCL, as well as the basic functions.
++- Sample Usage:
++-    (si::set-up-profile 1000000) (si::prof 0 90)
++-     run program
++-    (si::prof 0 0)   ;; turn off profile
++-    (si::display-prof)
++-    (si::clear-profile)
++-    (si::prof 0 90)  ;; start profile again
++-    run program
++-   ..
++-  Profile can be stopped with (si::prof 0 0) and restarted with (si::prof 0 90)
++-The START-ADDRESS will correspond to the beginning of the profile array, and
++-the SCALE will mean that 256 bytes of code correspond to SCALE bytes in the
++-profile array.
++-
++-Thus if the profile array is 1,000,000  bytes long and the code segment is 
++-5 megabytes long you can profile the whole thing using a scale of 50
++-Note that long runs may result in overflow, and so an understating of the
++-time in a function.
++-
++-You must run intensively however since, with a scale of 128 it takes
++-6,000,000 times through a loop to overflow the sampling in one part of
++-the code.
++-
++-
++-@end defun
+++@c @end defun
++ @defun CATCH-FATAL (i)
++ Package:SI
++ 
++--- gcl27-2.7.1.orig/info/structure.texi
+++++ gcl27-2.7.1/info/structure.texi
++@@ -34,7 +34,7 @@ a lisp structure correspond to a C struc
++ @end deffn
++ 
++ @defun HELP (&optional symbol)
++-Package:LISP
+++Package:USER
++ 
++ GCL specific: Prints the documentation associated with SYMBOL.  With no
++ argument, this function prints the greeting message to GCL beginners.
++--- gcl27-2.7.1.orig/info/type.texi
+++++ gcl27-2.7.1/info/type.texi
++@@ -34,7 +34,7 @@ Returns T if X is of the type TYPE; NIL
++ @end defun
++ 
++ @defun COMMONP (x)
++-Package:LISP
+++Package:SI
++ 
++ Returns T if X is a Common Lisp object; NIL otherwise.
++ 
++--- gcl27-2.7.1.orig/info/user-interface.texi
+++++ gcl27-2.7.1/info/user-interface.texi
++@@ -61,7 +61,7 @@ Evaluates FORM in the single-step mode a
++ @end deffn
++ 
++ @defvar *BREAK-ENABLE* 
++-Package:LISP
+++Package:SI
++ GCL specific:  When an error occurrs, control enters to the break loop only
++ if the value of this variable is non-NIL.
++ 
++@@ -99,7 +99,7 @@ Holds the I/O stream used by the GCL deb
++ @end defvar
++ 
++ @defvar *BREAK-ON-WARNINGS* 
++-Package:LISP
+++Package:SI
++ When the function WARN is called, control enters to the break loop only
++ if the value of this varialbe is non-NIL.
++ 
++--- gcl27-2.7.1.orig/lsp/gcl_listlib.lsp
+++++ gcl27-2.7.1/lsp/gcl_listlib.lsp
++@@ -371,7 +371,8 @@
++ 
++ (defseq union (nil (l1 l2) :list t)
++   (let (rp)
++-    (prog1 (or (mapcan (lambda (x)
+++    (prog1 (or (unless l2 l1)
+++            (mapcan (lambda (x)
++                       (unless (member (key x) l2 :test #'test)
++                         (setq rp (cons x nil))))
++                     l1)
++@@ -380,21 +381,26 @@
++ 
++ 
++ (defseq set-difference (nil (l1 l2) :list t)
++-  (mapcan (lambda (x)
+++  (if l2
+++      (mapcan (lambda (x)
++          (unless (member (key x) l2 :test #'test)
++            (cons x nil)))
++-       l1))
+++           l1)
+++      l1))
++ 
++ 
++ (defseq set-exclusive-or (nil (l1 l2) :list t)
++-  (let (rp (rr (copy-list l2)))
++-    (prog1 (or (mapcan (lambda (x &aux (k (key x)))
+++  (let (rp tmp n2)
+++    (declare (dynamic-extent tmp))
+++    (or (unless l2 l1)
+++     (prog1 (mapcan (lambda (x &aux (k (key x)))
++                       (if (member k l2 :test #'test)
++-                          (unless (setq rr (delete k rr :test #'test)))
+++                          (unless (push k tmp))
++                           (setq rp (cons x nil))))
++                     l1)
++-            rr)
++-      (when rp (rplacd rp rr)))))
+++       (setq n2 (set-difference l2 tmp :test (lambda (x y) (funcall #'test y x))))
+++       (when rp (rplacd rp n2)))
+++     n2)))
++ 
++ (defseq nintersection (nil (l1 l2) :list t)
++   (let (r rp)
++--- gcl27-2.7.1.orig/lsp/gcl_lr.lsp
+++++ gcl27-2.7.1/lsp/gcl_lr.lsp
++@@ -106,7 +106,8 @@
++ 
++ (defbltin clzl)
++ (defbltin ctzl)
++-(defbltin popcountl)
+++#-darwin(defbltin popcountl) ;Macports builtin calls external function outside symbol table
+++#+darwin(defmacro popcountl (x) `(popcount ,x))
++ (defbltin parityl)
++ (defbltin ffsl)
++ 
++--- gcl27-2.7.1.orig/lsp/gcl_make_pathname.lsp
+++++ gcl27-2.7.1/lsp/gcl_make_pathname.lsp
++@@ -112,10 +112,12 @@
++ (defun canonicalize-pathname-directory (l)
++   (cond ((eq l :wild) (canonicalize-pathname-directory '(:absolute :wild-inferiors)))
++      ((stringp l) (canonicalize-pathname-directory (list :absolute l)))
++-     ((mapl (lambda (x &aux (c (car x)))
++-              (when (and (or (stringp c) (eq c :wild)) (eq (cadr x) :back))
+++     ((mapl (lambda (x &aux (c (car x))
+++                         (skip (cond ((equal c ".") (cdr x))
+++                                     ((when (or (stringp c) (eq c :wild)) (eq (cadr x) :back)) (cddr x)))))
+++              (when skip
++                 (return-from canonicalize-pathname-directory
++-                  (canonicalize-pathname-directory (nconc (ldiff-nf l x) (cddr x))))))
+++                  (canonicalize-pathname-directory (nconc (ldiff-nf l x) skip)))))
++             l))))
++ 
++ (defvar *default-pathname-defaults* (init-pathname nil nil nil nil nil nil ""))
++--- gcl27-2.7.1.orig/o/file.d
+++++ gcl27-2.7.1/o/file.d
++@@ -1439,7 +1439,8 @@ BEGIN:
++ 
++ #ifdef USE_READLINE
++        if (readline_on && strm->sm.sm_fp==rl_instream)
++-         if (rl_line_buffer) return *rl_line_buffer ? TRUE : FALSE;
+++         /*FIXME homogenize this*/
+++         if (rl_line_buffer) return *rl_line_buffer && *rl_line_buffer!=EOF ? TRUE : FALSE;
++ #endif
++              if (strm->sm.sm_fp == NULL)
++                      closed_stream(strm);
++--- gcl27-2.7.1.orig/o/main.c
+++++ gcl27-2.7.1/o/main.c
++@@ -186,7 +186,8 @@ next_line(int l,ufixnum *s) {
++   ssize_t i;
++   char *p;
++ 
++-  if (*s && (n=strlen(FN1))) {
+++  if (*s) {
+++    n=strlen(FN1);
++     memmove(FN1,FN1+n+1,sizeof(FN1)-(n+1));
++     *s-=n+1;
++   }
++@@ -406,6 +407,31 @@ setup_maxpages(double scale) {
++ 
++ }
++ 
+++int
+++qemu_p(void)  {
+++
+++#if !defined(DARWIN) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/
+++
+++  char *c;
+++  ufixnum e,r=0;
+++  int l;
+++
+++  massert((l=open("/proc/cpuinfo",O_RDONLY))!=-1);
+++
+++  for (e=0;!e && (c=next_line(l,&r));)
+++    e=!memcmp("model",c,5) && strstr(c,"QEMU");
+++
+++  massert(!close(l));
+++
+++  return e;
+++
+++#else
+++
+++  return 0;
+++
+++#endif
+++}
+++
++ 
++ static void *
++ next_shared_lib_map_no_malloc(void)  {
++@@ -727,6 +753,7 @@ main(int argc, char **argv, char **envp)
++   bds_top = bds_org-1;
++   frs_top = frs_org-1;
++ 
+++#define CHECK_FOR_QEMU
++ #include "cstack.h"
++ 
++   gcl_init_alloc(alloca(1));
++@@ -1432,6 +1459,7 @@ my_fprintf(void *v,const char *f,...) {
++   return r;
++ }
++ 
+++#ifdef HAVE_FPRINTF_STYLED_FTYPE
++ static int
++ my_fprintf_styled(void *v,enum disassembler_style,const char *f,...) {
++   va_list va;
++@@ -1441,6 +1469,7 @@ my_fprintf_styled(void *v,enum disassemb
++   va_end(va);
++   return r;
++ }
+++#endif
++ 
++ static int
++ my_read(bfd_vma memaddr, bfd_byte *myaddr, unsigned int length, struct disassemble_info *dinfo) {
++@@ -1468,14 +1497,18 @@ DEFUN("DISASSEMBLE-INSTRUCTION",object,f
++ 
++   if ((v=dlopen("libopcodes.so",RTLD_NOW))) {
++     if ((s=dlsym(v,"init_disassemble_info"))) {
++-      s(&i, stdout,(fprintf_ftype) my_fprintf,my_fprintf_styled);
+++      s(&i, stdout,(fprintf_ftype)my_fprintf
+++#ifdef HAVE_FPRINTF_STYLED_FTYPE
+++     ,my_fprintf_styled
+++#endif
+++     );
++       i.read_memory_func=my_read;
++       i.print_address_func=my_pa;
++ #if defined(OUTPUT_MACH)
++       i.mach=OUTPUT_MACH;
++ #endif
++       if ((s=dlsym(v,"disassembler"))) {
++-     disassembler_ftype disasm=(disassembler_ftype)(ufixnum)s(OUTPUT_ARCH,false,0,NULL);/*bfd_mach_x86_64*/
+++     disassembler_ftype disasm=(disassembler_ftype)(ufixnum)s(OUTPUT_ARCH,0,0,NULL);
++      bp=b;
++      disasm(addr,&i);
++      my_fprintf(NULL," ;");
++--- gcl27-2.7.1.orig/o/msbrk.c
+++++ gcl27-2.7.1/o/msbrk.c
++@@ -17,13 +17,21 @@ msbrk_end(void) {
++ 
++ }
++ 
++-#if !defined(DARWIN) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/
+++#if !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/
++ 
++ static void *
++ new_map(void *v,ufixnum s) {
++   return mmap(v,s,PROT_READ|PROT_WRITE|PROT_EXEC,MAP_PRIVATE|MAP_ANON|MAP_FIXED,-1,0);
++ }
++ 
+++#if defined(DARWIN)
+++/*This initial heap must be large enough to initialize the raw image,
+++  but not so large that the Mac linker ignores the segment designation
+++  and creates a __huge section under __DATA for this and other
+++  variables.  We enlarge this on unexec.*/
+++asm (".zerofill __HEAP,__heap,__end,0x70000000\n\t.globl __end");
+++#endif
+++
++ int
++ msbrk_init(void) {
++ 
++--- gcl27-2.7.1.orig/o/num_sfun.c
+++++ gcl27-2.7.1/o/num_sfun.c
++@@ -802,7 +802,6 @@ DEFUN("ISINF",object,fSisinf,SI,1,1,NONE
++ 
++ }
++ 
++-
++ void
++ gcl_init_num_sfun(void)
++ {
++--- gcl27-2.7.1.orig/o/sfaslmacho.c
+++++ gcl27-2.7.1/o/sfaslmacho.c
++@@ -208,7 +208,7 @@ load_memory(struct section *sec1,struct
++       if (LOAD_SEC(sec))
++      memcpy((void *)sec->addr,v1+sec->offset,sec->size);
++       else
++-     bzero((void *)sec->sh_addr,sec->sh_size);
+++     bzero((void *)sec->addr,sec->size);
++     }
++ 
++   if (**got) {
++--- gcl27-2.7.1.orig/o/unexmacosx.c
+++++ gcl27-2.7.1/o/unexmacosx.c
++@@ -211,9 +211,6 @@ vm_range_t marked_regions [MAX_MARKED_RE
++ 
++ unsigned num_marked_regions;
++ 
++-/* Size of the heap.  */
++-static unsigned long big_heap;
++-
++ /* Start of the heap.  */
++ char *mach_mapstart = 0;
++ 
++@@ -543,42 +540,6 @@ copy_data_segment (struct load_command *
++     unexec_error ("cannot write header of __DATA segment");
++   curr_header_offset += lc->cmdsize;
++ 
++-  /* Create new __DATA segment load commands for regions on the region
++-     list that do not corresponding to any segment load commands in
++-     the input file.
++-  */
++-  /* for (j = 0; j < num_unexec_regions; j++) */
++-    {
++-      struct segment_command sc;
++-
++-      sc.cmd = LC_SEGMENT;
++-      sc.cmdsize = sizeof (struct segment_command);
++-      /* strncpy (sc.segname, SEG_DATA, 16); */
++-      strncpy (sc.segname, "__HEAP", 16);
++-      sc.vmaddr = (long)mach_mapstart;
++-      sc.vmsize = mach_maplimit-mach_mapstart;
++-      sc.fileoff = curr_file_offset;
++-      sc.filesize = core_end-mach_mapstart;
++-      sc.maxprot = VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE;
++-      sc.initprot = VM_PROT_READ | VM_PROT_WRITE /* | VM_PROT_EXECUTE */;
++-      sc.nsects = 0;
++-      sc.flags = 0;
++-
++-#if VERBOSE
++-      printf ("Writing segment %-16.16s @ %#8lx (%#8lx/%#8lx @ %#10lx)\n",
++-           sc.segname, (long) (sc.fileoff), (long) (sc.filesize),
++-           (long) (sc.vmsize), (long) (sc.vmaddr));
++-#endif
++-
++-      if (!unexec_write (sc.fileoff, (void *) sc.vmaddr, sc.filesize))
++-     unexec_error ("cannot write new __DATA segment");
++-      curr_file_offset += ROUNDUP_TO_PAGE_BOUNDARY (sc.filesize);
++-
++-      if (!unexec_write (curr_header_offset, &sc, sc.cmdsize))
++-     unexec_error ("cannot write new __DATA segment's header");
++-      curr_header_offset += sc.cmdsize;
++-      mh.ncmds++;
++-    }
++ }
++ 
++ /* Copy a LC_SYMTAB load command from the input file to the output
++@@ -853,7 +814,7 @@ static void
++ dump_it () {
++ 
++   int i;
++-  long linkedit_delta = 0;
+++  long linkedit_delta=0,linkedit_vmdelta=0;
++   
++ #if VERBOSE
++   printf ("--- Load Commands written to Output File ---\n");
++@@ -878,17 +839,46 @@ dump_it () {
++        
++        copy_data_segment (lca[i]);
++ 
++-     } else {
+++     } else if (strncmp (scp->segname, "__HEAP", 16) == 0) {
++ 
++-       if (strncmp (scp->segname, SEG_LINKEDIT, 16) == 0) {
++-         if (linkedit_delta)
++-           unexec_error ("cannot handle multiple LINKEDIT segments in input file");
++-         linkedit_delta = curr_file_offset - scp->fileoff;
++-       }
+++       extern char *data_start;
+++       struct section *sectp = (struct section *) (scp + 1);
+++       unsigned long header_offset=curr_header_offset + sizeof (struct segment_command);
++        
++-       if (strncmp (scp->segname, "__HEAP", 16) != 0) copy_segment (lca[i]); else mh.ncmds--;
+++       scp->vmaddr=(long)data_start;
+++       linkedit_vmdelta=(1UL<<37)-scp->vmsize;
+++       scp->vmsize=(1UL<<37);
+++       scp->fileoff=curr_file_offset;
+++       scp->filesize=core_end-data_start;
+++       scp->maxprot=VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE;
+++       scp->initprot=VM_PROT_READ | VM_PROT_WRITE;
+++       scp->nsects=1;
+++       scp->flags=S_REGULAR;
++        
++-     }
+++       sectp->addr=scp->vmaddr;
+++       sectp->size=scp->filesize;
+++       sectp->flags=S_REGULAR;
+++
+++       if (!unexec_write (header_offset, sectp, sizeof (struct section)))
+++         unexec_error ("cannot write section _HEAP's header");
+++
+++       if (!unexec_write (scp->fileoff, (void *) scp->vmaddr, scp->filesize))
+++         unexec_error ("cannot write __HEAP segment");
+++       curr_file_offset += ROUNDUP_TO_PAGE_BOUNDARY (scp->filesize);
+++
+++       if (!unexec_write (curr_header_offset, scp, sizeof (struct segment_command)))
+++         unexec_error ("cannot write header of __HEAP segment");
+++       curr_header_offset += scp->cmdsize;
+++
+++     } else if (strncmp (scp->segname, SEG_LINKEDIT, 16) == 0) {
+++
+++       if (linkedit_delta)
+++         unexec_error ("cannot handle multiple LINKEDIT segments in input file");
+++       linkedit_delta = curr_file_offset - scp->fileoff;
+++       scp->vmaddr+=linkedit_vmdelta;
+++       copy_segment (lca[i]);
+++     } else
+++       copy_segment (lca[i]);
++       }
++       break;
++     case LC_SYMTAB:
++@@ -1035,52 +1025,6 @@ unexec (char *outfile, char *infile, voi
++ 
++ }
++ 
++-/* Replacement for broken sbrk(2).  */
++-
++-#include <sys/mman.h>
++-#include <errno.h>
++-unsigned long
++-probe_big_heap(unsigned long try,unsigned long inc,unsigned long max) {
++-
++-  void *r;
++-
++-  if ((r=mmap(NULL, try, PROT_READ|PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0))==(void *)-1)
++-    return try>inc ? probe_big_heap(try-inc,inc>>1,max) : 0;
++-  munmap(r,try);
++-  return (!inc || try >=max) ? try : probe_big_heap(try+inc,inc,max);
++-
++-}
++-
++-void *my_sbrk (long incr)
++-{
++-  char               *temp, *ptr;
++-
++-  if (mach_brkpt == 0) {
++-
++-    big_heap=(1UL)<<35;
++-    if (!(big_heap=probe_big_heap(PAGESIZE,big_heap>>1,big_heap))) {
++-      unexec_error("my_sbrk(): probe_big_heap() failed\n");
++-      return ((char *)-1);
++-    }
++-
++-    mach_brkpt=mmap(NULL, big_heap, PROT_READ|PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
++-        
++-    mach_mapstart = mach_brkpt;
++-    mach_maplimit = mach_brkpt + big_heap;
++-
++-  }
++-  if (incr == 0) {
++-    return (mach_brkpt);
++-  } else {
++-    ptr = mach_brkpt + incr;
++-    if (ptr<mach_mapstart || ptr > mach_maplimit)
++-      return (char *)-1;
++-    temp = mach_brkpt;
++-    mach_brkpt = ptr;
++-    return (temp);
++-  }
++-}
++-
++ static size_t stub_size (malloc_zone_t *zone, const void *ptr)
++ {
++     extern object malloc_list;
++--- gcl27-2.7.1.orig/pcl/gcl_pcl_defs.lisp
+++++ gcl27-2.7.1/pcl/gcl_pcl_defs.lisp
++@@ -411,6 +411,7 @@
++ ;    (print `(deftype ,name nil `(si::std-instance ,(si::coerce-to-standard-class ',name))))
++ ;    (print (si::coerce-to-standard-class name))
++     (eval `(deftype ,name nil t))
+++    (unintern (get name 'si::simple-typep-fn))
++     (remprop name 'si::simple-typep-fn)))
++ 
++   ;; #+cmu17 (declare (ignore name predicate))
++--- gcl27-2.7.1.orig/xbin/ar_merge
+++++ gcl27-2.7.1/xbin/ar_merge
++@@ -4,13 +4,14 @@ FLAGS=$1
++ shift
++ ARCHIVE=$1
++ shift
+++XPWD=$(pwd)
++ 
++ TMPDIR=$(mktemp -d)
++ while [ $# -gt 0 ] ; do
++     case $(basename $1) in
++      *.o) cp $1 $TMPDIR;;
++      *.go) cp $1 $TMPDIR/$(echo $(basename $1)|sed 's,\.go,.o,g');;
++-     *.a) ar x $1 --output $TMPDIR;;
+++     *.a) cd $TMPDIR && ar x $XPWD/$1 && cd $XPWD;;
++      recompile);;
++      *) echo Bad arg $1 ; exit 1 ;;
++     esac
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c0e161985d45673b71d914913435d444a4cdc7ef
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,157 @@@
++Description: Update to git tag Version_2_7_2pre5
++ Git tag update
++Forwarded: not-needed
++Author: Camm Maguire <camm@debian.org>
++
++--- gcl27-2.7.1.orig/git.tag
+++++ gcl27-2.7.1/git.tag
++@@ -1,2 +1,2 @@
++-"Version_2_7_2ore3"
+++"Version_2_7_2ore5"
++ 
++--- gcl27-2.7.1.orig/h/cstack.h
+++++ gcl27-2.7.1/h/cstack.h
++@@ -16,40 +16,31 @@
++ #define SET_STACK_POINTER "mov %0,r15\n\t"
++ #endif
++ 
++-#define FIXED_STACK (1UL<<23)/*FIXME configure?*/
++-#if defined(__SH4__)/*FIXME is this just due to qemu?*/
++-#define CTOP (void *)0x80000000
++-#define SS FIXED_STACK
+++#define CTOP (void *)0xc0000000/*FIXME configure?*/
+++#define MIN_STACK (1UL<<23)/*QEMU will not grow the stack*/
+++
+++#if defined(__SH4__)
+++#undef CTOP
+++#define CTOP (void *)0x80000000/*FIXME is this just due to qemu?*/
++ #elif defined(__gnu_hurd__)
++-#define CTOP (void *)0xc0000000
++-#define SS FIXED_STACK
++ #define MAP_GROWSDOWN 0
++ #define MAP_STACK 0
++-#else
++-#define CTOP (void *)0xc0000000/*FIXME configure?*/
++-#define SS getpagesize()
++ #endif
++ 
++ #ifdef SET_STACK_POINTER
++ {
++-  void *p,*p1,*b,*s;
+++  void *p,*p1,*b=CTOP-MIN_STACK,*s;
++   int a,f=MAP_FIXED|MAP_PRIVATE|MAP_ANON|MAP_STACK;
++-  int ss=
++-#ifdef CHECK_FOR_QEMU
++-    qemu_p() ? FIXED_STACK :
++-#endif
++-    SS;
++ 
++   p=alloca(1);
++   p1=alloca(1);
++-  b=CTOP-(p1<p ? ss : FIXED_STACK);
++   a=p1<p ? p-p1 : p1-p;
++-  a<<=2;
+++  a<<=3;
++   s=p1<p ? CTOP-a : b+a;
++   if (p1<p) f|=MAP_GROWSDOWN;
++ 
++   if (p > CTOP || p < b) {
++-    if (mmap(b,ss,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) {
+++    if (mmap(b,MIN_STACK,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) {
++       stack_map_base=b;
++       asm volatile (SET_STACK_POINTER::"r" (s):"memory");
++       if (p1>p)
++--- gcl27-2.7.1.orig/h/elf64_alpha_reloc_special.h
+++++ gcl27-2.7.1/h/elf64_alpha_reloc_special.h
++@@ -94,7 +94,7 @@ find_special_params(void *v,Shdr *sec1,S
++ static int
++ label_got_symbols(void *v1,Shdr *sec1,Shdr *sece,Sym *sym1,Sym *syme,const char *st1,const char *sn,ul *gs) {
++ 
++-  Sym *sym,*fsym=sym1;
+++  Sym *sym;
++   Rela *r;
++   Shdr *sec;
++   void *v,*ve;
++@@ -142,12 +142,9 @@ label_got_symbols(void *v1,Shdr *sec1,Sh
++ 
++      case R_ALPHA_GPDISP:
++ 
++-       for (sym=fsym;sym<syme && (sym->st_shndx!=1 || LOW(sym->st_value)!=r->r_offset);sym++);/*ordered search*/
++-
++-       if (sym<syme) {
++-         fsym=sym;
++-         SET_HIGH(fsym->st_value,gotp=*gs+1);
++-       }
+++       for (sym=sym1;sym<syme && (sym->st_shndx!=1 || !LOW(sym->st_size) || LOW(sym->st_value)!=r->r_offset);sym++);
+++       if (sym<syme)
+++         SET_HIGH(sym->st_value,gotp=*gs+1);
++ 
++        SET_HIGH(r->r_addend,gotp);
++ 
++@@ -157,9 +154,8 @@ label_got_symbols(void *v1,Shdr *sec1,Sh
++ 
++        q=LOW(sym1[ELF_R_SYM(r->r_info)].st_value)+r->r_addend;
++ 
++-       /*unordered search*/
++-       for (sym=sym1;sym<syme && (sym->st_shndx!=1 || LOW(sym->st_value)>q || LOW(sym->st_value)+LOW(sym->st_size)<q);sym++);
++-       massert(sym<syme);
+++       for (sym=sym1;sym<syme && (sym->st_shndx!=1 || LOW(sym->st_value)>q || LOW(sym->st_value)+LOW(sym->st_size)<=q);sym++);
+++       massert(sym<syme && HIGH(sym->st_value));
++ 
++        SET_HIGH(r->r_addend,HIGH(sym->st_value));
++ 
++--- gcl27-2.7.1.orig/lsp/gcl_directory.lsp
+++++ gcl27-2.7.1/lsp/gcl_directory.lsp
++@@ -75,8 +75,7 @@
++   (let ((r (with-open-file (s (apply 'string-concatenate "|" #-winnt "command -v "
++                                   #+winnt "for %i in (" s #+winnt ".exe) do @echo.%~$PATH:i" nil))
++                         (read-line s nil 'eof))))
++-    (unless (eq r 'eof)
++-      (string-downcase r))))
+++    (unless (eq r 'eof) r)))
++ 
++ (defun get-path (s &aux
++                 (e (unless (minusp (string-match #v"([^\n\t\r ]+)([\n\t\r ]|$)" s))(match-end 1)))
++--- gcl27-2.7.1.orig/o/main.c
+++++ gcl27-2.7.1/o/main.c
++@@ -407,32 +407,6 @@ setup_maxpages(double scale) {
++ 
++ }
++ 
++-int
++-qemu_p(void)  {
++-
++-#if !defined(DARWIN) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/
++-
++-  char *c;
++-  ufixnum e,r=0;
++-  int l;
++-
++-  massert((l=open("/proc/cpuinfo",O_RDONLY))!=-1);
++-
++-  for (e=0;!e && (c=next_line(l,&r));)
++-    e=!memcmp("model",c,5) && strstr(c,"QEMU");
++-
++-  massert(!close(l));
++-
++-  return e;
++-
++-#else
++-
++-  return 0;
++-
++-#endif
++-}
++-
++-
++ static void *
++ next_shared_lib_map_no_malloc(void)  {
++ 
++@@ -753,7 +727,6 @@ main(int argc, char **argv, char **envp)
++   bds_top = bds_org-1;
++   frs_top = frs_org-1;
++ 
++-#define CHECK_FOR_QEMU
++ #include "cstack.h"
++ 
++   gcl_init_alloc(alloca(1));
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d49a45b38a14d1da5a50d72f3a93d4a0261513da
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,419 @@@
++Description: <short summary of the patch>
++ TODO: Put a short summary on the line above and replace this paragraph
++ with a longer explanation of this change. Complete the meta-information
++ with other relevant fields (see below for details). To make it easier, the
++ information below has been extracted from the changelog. Adjust it or drop
++ it.
++ .
++ gcl27 (2.7.1-7) unstable; urgency=medium
++ .
++   * Version_2_7_2pre6
++   * Bug fix: "[INTL:nl] Dutch debconf templates translation", thanks to Frans Spiesschaert (Closes: #1106482).
++Author: Camm Maguire <camm@debian.org>
++Bug-Debian: https://bugs.debian.org/1106482
++
++---
++The information above should follow the Patch Tagging Guidelines, please
++checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
++are templates for supplementary fields that you might want to add:
++
++Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
++Bug: <upstream-bugtracker-url>
++Bug-Debian: https://bugs.debian.org/<bugnumber>
++Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
++Forwarded: (no|not-needed|<patch-forwarded-url>)
++Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
++Reviewed-By: <name and email of someone who approved/reviewed the patch>
++Last-Update: 2025-05-29
++
++--- gcl27-2.7.1.orig/Makefile.am
+++++ gcl27-2.7.1/Makefile.am
++@@ -270,7 +270,7 @@ unixport/gcl_cmpnopt_pre_gcl.lsp: # FIXM
++      touch $@
++ unixport/gcl_cmpnopt_%.lsp: unixport/lib%.a | unixport/%
++      echo "(mapc (quote load) (directory \"$*/*.hsh\"))" \
++-          "(compiler::dump-inl-hash \"$@\")" | $|
+++          "(compiler::dump-inl-hash \"$@\" t)" | $|
++ 
++ $(addprefix unixport/lib,$(addsuffix .a,pre_gcl $(MY_DIRS))): \
++ unixport/lib%.a: lib/libbase_gcl.a $(LIBGPROF) unixport/sys_%.o
++@@ -302,7 +302,7 @@ unixport/lib%.a: | xbin/ar_merge
++ %/recompile: | unixport/%
++      $| -batch \
++         -eval "(let ((si::*do-recomp-output-dir* \"$(@D)\")) (si::do-recomp t))" \
++-        -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\")"
+++        -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\" t)"
++      touch $@
++ 
++ unixport/sys_%.o: unixport/sys_init.c
++@@ -418,7 +418,7 @@ mod_gcl/%.o: mod_gcl0/%.o | unixport/mod
++      rm -rf $*/*.o
++      echo "(mapc (quote load) (list $(patsubst %,\"%\",$^)))" \
++           "(pcl::compile-pcl)" \
++-          "(compiler::dump-inl-hash \"$@\")" | $|
+++          "(compiler::dump-inl-hash \"$@\" t)" | $|
++ 
++ %/all.hsh: %/p1.lisp %/all.hs1 | unixport/pcl_gcl
++      echo "pcl conflicts:"
++--- gcl27-2.7.1.orig/Makefile.in
+++++ gcl27-2.7.1/Makefile.in
++@@ -4701,7 +4701,7 @@ unixport/gcl_cmpnopt_pre_gcl.lsp: # FIXM
++      touch $@
++ unixport/gcl_cmpnopt_%.lsp: unixport/lib%.a | unixport/%
++      echo "(mapc (quote load) (directory \"$*/*.hsh\"))" \
++-          "(compiler::dump-inl-hash \"$@\")" | $|
+++          "(compiler::dump-inl-hash \"$@\" t)" | $|
++ 
++ $(addprefix unixport/lib,$(addsuffix .a,pre_gcl $(MY_DIRS))): \
++ unixport/lib%.a: lib/libbase_gcl.a $(LIBGPROF) unixport/sys_%.o
++@@ -4728,7 +4728,7 @@ unixport/lib%.a: | xbin/ar_merge
++ %/recompile: | unixport/%
++      $| -batch \
++         -eval "(let ((si::*do-recomp-output-dir* \"$(@D)\")) (si::do-recomp t))" \
++-        -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\")"
+++        -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\" t)"
++      touch $@
++ 
++ unixport/sys_%.o: unixport/sys_init.c
++@@ -4843,7 +4843,7 @@ mod_gcl/%.o: mod_gcl0/%.o | unixport/mod
++      rm -rf $*/*.o
++      echo "(mapc (quote load) (list $(patsubst %,\"%\",$^)))" \
++           "(pcl::compile-pcl)" \
++-          "(compiler::dump-inl-hash \"$@\")" | $|
+++          "(compiler::dump-inl-hash \"$@\" t)" | $|
++ 
++ %/all.hsh: %/p1.lisp %/all.hs1 | unixport/pcl_gcl
++      echo "pcl conflicts:"
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpeval.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpeval.lsp
++@@ -648,6 +648,7 @@
++   (list (this-safety-level)
++      (mapcar (lambda (x) (assert (eq (car x) 'ub)) (third x)) (when lf (fifth form)))
++      (cons (when lf (third form)) (info-type (cadr form)))
+++     (ninth form)
++      (if lf (remove-comment (fourth form)) "")))
++ 
++ (defun cl-to-fn (cl)
++@@ -672,33 +673,77 @@
++                         (when (eql (length x) (length cy))
++                           (every 'type<= x cy))))))))
++ 
+++(defun skip-inl (fm tps tr)
+++  (or (member-if 'atomic-tp tps)
+++      (atomic-tp (info-type (cadr fm)))
+++      (exit-to-fmla-p)
+++      (member nil tr)
+++      (set-difference
+++       (let ((i -1)) (mapcan (lambda (x &aux (y (incf i))) (unless (atomic-tp x) (list y))) tps))
+++       tr)))
+++
+++(defun ?update-fm-propagator (fm cl tr tps)
+++  (when (symbolp (car cl))
+++    (when (get (car cl) 'type-propagator);?more
+++      (when (eq (car fm) 'lit)
+++     (when (member-if 'integerp tr) ;otherwise no point
+++       (push (list (car cl) tr tps) (ninth fm)))))))
+++
+++(defun merge-inl (cl inl pl &aux (tps (pop inl))(tr (pop inl)))
+++  (let ((z (member-if (lambda (x) (can-coalesce x tr inl tps)) (car pl))))
+++    (cond (z (coalesce-inl cl (car z) tps (cdr (third inl)))
+++          (setf (cdr z) (remove-if (lambda (x) (can-coalesce x tr inl tps)) (cdr z))))
+++       (pl (let ((x (list* tps tr inl)))
+++             (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-add)
+++                            "Adding inl-hash ~s: ~s" (car cl) x)
+++             (push x (car pl)))))))
+++
+++(defun merge-inls (s inls &aux (cl (list s))(pl (get-inl-list cl t)))
+++  (mapc (lambda (x) (merge-inl cl x pl)) inls))
+++
++ (defun ?add-inl (cl fms fm)
++-  (unless (or (member-if 'atomic-tp fms :key (lambda (x) (info-type (caddr x))))
++-           (atomic-tp (info-type (cadr fm))) (exit-to-fmla-p)); (inls-match cl fms)
++-    (let* ((tps (mapcar (lambda (x) (info-type (caddr x))) fms))
++-        (tr (mapcar (lambda (x &aux (v (car (last x))))
++-                      (when (and (consp v) (eq (car v) 'var))
++-                        (position (cddr v) fms :key 'cdddr :test 'equalp)));FIXME
++-                    (if (eq (car fm) 'var) (list (list fm)) (fifth fm))))
++-        (nat (let ((i -1)) (mapcan (lambda (x &aux (y (incf i))) (unless (atomic-tp x) (list y))) tps))))
++-      (unless (or (member nil tr) (set-difference nat tr))
++-     (let* ((pl (get-inl-list cl t))
++-            (inl (lit-inl2 fm))
++-            (z (member-if (lambda (x) (can-coalesce x tr inl tps)) (car pl))))
++-       (cond (z (coalesce-inl cl (car z) tps (cdr (third inl)))
++-                (setf (cdr z) (remove-if (lambda (x) (can-coalesce x tr inl tps)) (cdr z))))
++-             (pl
++-              (let ((x (list* tps tr inl)))
++-                (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-add)
++-                               "Adding inl-hash ~s: ~s" (car cl) x)
++-                (push x (car pl))))))))))
+++  (let* ((tps (mapcar (lambda (x) (info-type (caddr x))) fms))
+++      (tr (mapcar (lambda (x &aux (v (car (last x))))
+++                    (when (and (consp v) (eq (car v) 'var))
+++                      (position (cddr v) fms :key 'cdddr :test 'equalp)));FIXME
+++                  (if (eq (car fm) 'var) (list (list fm)) (fifth fm)))))
+++    (?update-fm-propagator fm cl tr tps)
+++    (unless (skip-inl fm tps tr)
+++      (merge-inl cl (list* tps tr (lit-inl2 fm)) (get-inl-list cl t)))))
++ 
++ (defun prepend-comment (form s)
++   (if *annotate*
++       (si::string-concatenate "/* " (prin1-to-string form) " */" (remove-comment s))
++       s))
++ 
++-(defun apply-inl (cl fms &aux (inl (inls-match cl fms)))
+++(defvar *apply-inl-hash* t)
+++
+++(defun update-info-type-from-inl (i inl fms &aux (tps (mapcar (lambda (x) (info-type (caddr x))) fms)))
+++  (setf (info-type i)
+++     (reduce 'type-and
+++             (cons (cdr (fifth inl))
+++                   (mapcar (lambda (x)
+++                             (or
+++                              (result-type-from-args
+++                               (pop x)
+++                               (let ((i -1))
+++                                 (mapcar (lambda (tp &aux (p (position (incf i) (car x))))
+++                                           (if p (nth (nth p (second inl)) tps) tp))
+++                                         (cadr x))))
+++                              t))
+++                           (sixth inl)))
+++             :initial-value (info-type i))))
+++
+++(defun merge-fm-propagator (x fms inl)
+++  (let* ((tr (mapcar (lambda (x &aux (v (car (last x))))
+++                    (when (and (consp v) (eq (car v) 'var))
+++                      (position (cddr v) fms :key 'cdddr :test 'equalp)));FIXME
+++                  (fifth x))))
+++    (mapc (lambda (y) (?update-fm-propagator x y tr (caddr y)))
+++       (sixth inl))))
+++
+++
+++(defun apply-inl (cl fms &aux (inl (when *apply-inl-hash* (inls-match cl fms))))
++   (when inl
++     (let* ((c1fms (mapcar (lambda (x) (cdr (nth x fms))) (second inl))))
++       (unless (member-if-not (lambda (x)
++@@ -706,35 +751,56 @@
++                               (var (eq (var-kind (caaddr x)) 'lexical))
++                               ((lit location) t)))
++                           c1fms)
++-     (cond ((zerop (length (car (last inl))))
++-            (let* ((x (car c1fms))(h (pop x))
++-                   (i (copy-info (pop x))))
++-              (setf (info-type i) (type-and (cdr (fifth inl)) (info-type i)))
++-              (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-apply)
++-                             "Applying var inl-hash ~s" (car cl))
++-              (list* h i x)))
++-           ((let ((x (c1lit (list (car (fifth inl)) (prepend-comment (cons 'applied cl) (car (last inl)))) (mapcar 'list  (fourth inl) c1fms))))
++-              (setf (info-type (cadr x)) (type-and (cdr (fifth inl)) (info-type (cadr x))))
++-              (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-apply)
++-                             "Applying inl-hash ~s: ~s: ~s" (car cl) (fourth x))
++-              x)))))))
+++     (let* ((z (zerop (length (car (last inl)))))
+++            (x (if z
+++                   (list* (caar c1fms) (copy-info (cadar c1fms)) (cddar c1fms))
+++                   (c1lit (list (car (fifth inl)) (prepend-comment (cons 'applied cl) (car (last inl))))
+++                          (mapcar 'list  (fourth inl) c1fms)))))
+++       (unless z (merge-fm-propagator x fms inl))
+++       (update-info-type-from-inl (cadr x) inl fms)
+++       (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-apply)
+++                      "Applying inl-hash ~s: ~s" (car cl) (unless z (fourth x)))
+++       x)))))
+++
+++
+++(defun compress-inl (s &aux (i (car (gethash s *inl-hash*))))
+++  (when (> (length i) 1)
+++    (let ((l (length i))
+++       (x (reduce (lambda (y x)
+++                    (list
+++                     (mapl (lambda (z w) (setf (car z) (type-or1 (car z) (car w))))
+++                           (car y) (car x))
+++                     (max (cadr y) (third x))))
+++                  (cdr i) :initial-value (list (copy-list (caar i)) (third (car i)))))
+++       (syms (mapcar (lambda (x) (declare (ignore x)) (gensym)) (make-list (length (caar i))))))
+++      (compile nil `(lambda ,syms
+++                   (declare (optimize (safety ,(cadr x)))
+++                            ,@(mapcar (lambda (x y) (list (cmp-unnorm-tp x) y)) (car x) syms))
+++                   (,s ,@syms)))
+++      (when (< (length (car (gethash s *inl-hash*))) l)
+++     (format t "compress-inl ~s: ~s -> ~s~%" s l (length (car (gethash s *inl-hash*))))))))
++ 
++-(defun dump-inl-hash (f)
+++(defun dump-inl-hash (f &optional compress &aux (si::*print-package* t))
+++  (when compress (maphash (lambda (x y) (declare (ignore y)) (compress-inl x)) *inl-hash*))
++   (with-open-file (s f :direction :output)
++     (prin1 '(in-package :compiler) s)
++     (terpri s)
++     (maphash (lambda (x y)
++             (prin1
++-             `(setf (gethash ',x *inl-hash*)
++-                    (list
++-                     (list
++-                      ,@(mapcar (lambda (z)
++-                                  `(list (mapcar 'uniq-tp ',(mapcar 'export-type (pop z)))
++-                                         ',(pop z) ',(pop z) ',(pop z)
++-                                         (cons ',(caar z) (uniq-tp ',(cdar z)))
++-                                         ,(cadr z)))
++-                                (car y)))))
++-                   s)
+++             `(merge-inls
+++               ',x
+++               (list
+++                ,@(mapcar (lambda (z)
+++                            `(list (mapcar 'uniq-tp ',(mapcar 'export-type (pop z)))
+++                                   ',(pop z) ',(pop z) ',(pop z)
+++                                   (cons ',(caar z) (uniq-tp ',(cdar z)))
+++                                   (list ,@(mapcan
+++                                            (lambda (x)
+++                                              `((list ',(pop x) ',(pop x) ',(mapcar 'export-type (car x)))))
+++                                            (cadr z)))
+++                                   ,(caddr z)))
+++                          (car y))))
+++             s)
++             (terpri s))
++           *inl-hash*))
++   nil)
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpinline.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpinline.lsp
++@@ -355,7 +355,7 @@
++     (coerce-loc *value-to-go* type)))
++     
++ 
++-(defun lit-loc (key inl args bind safety oargs stores &aux (tp (get key 'cmp-lisp-type)))
+++(defun lit-loc (key inl args bind safety oargs syms stores &aux (tp (get key 'cmp-lisp-type)))
++   (declare (ignore bind safety oargs stores))
++   (let ((sig (list (mapcar (lambda (x) (info-type (cadr x))) args) tp))) 
++     (get-inline-loc (list (car sig) (cadr sig) (flags rfa) inl) args)))
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmptag.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmptag.lsp
++@@ -130,7 +130,7 @@
++                       "Initializing ~s at label ~s:~%   type from ~s to ~s,~%   store from ~s to ~s"
++                       (car x) (tag-name z) (var-type (car x)) (cadr x)
++                       (var-store (car x)) (if (eq (var-store (car x)) (caddr x)) (caddr x) +opaque+))
++-       (do-setq-tp (car x) 'mch-set (cadr x));FIXME too prolix
+++       (do-setq-tp (car x) '(mch-set) (cadr x));FIXME too prolix
++        (push-vbinds (car x) (caddr x)))
++      l))
++ 
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmptop.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmptop.lsp
++@@ -865,14 +865,14 @@
++                                 (incf i lff)(copy-list ff));FIXME?
++                              ((incf i)(list x))))
++                      nargs))
++-      (form (list 'lit info key inl nargs nil lev oargs (make-vs info))))
+++      (form (list 'lit info key inl nargs nil lev oargs nil (make-vs info))))
++     (when (find #\= inl)
++       (c1side-effects nil)
++       (setf (info-flags info) (logior (iflags side-effects) (info-flags info))))
++     (setf (sixth form) (new-bind form))
++     form))
++ 
++-(defun c2lit (key inl args bind safety &rest r &aux (oargs (pop r)) (stores (car r)) (tp (get key 'cmp-lisp-type :opaque)))
+++(defun c2lit (key inl args bind safety &rest r &aux (oargs (pop r)) (syms (pop r)) (stores (car r)) (tp (get key 'cmp-lisp-type :opaque)))
++   (declare (dynamic-extent r))
++   (let* ((*inline-blocks* 0)
++       (*restore-avma*  *restore-avma*)
++@@ -881,7 +881,7 @@
++       (*compiler-new-safety* *compiler-new-safety*)
++       (*compiler-push-events* *compiler-push-events*))
++     (local-compile-decls `((safety ,safety)))
++-    (unwind-exit (lit-loc key inl args bind safety oargs stores) nil
+++    (unwind-exit (lit-loc key inl args bind safety oargs syms stores) nil
++               (cons 'values (if (equal tp #t(returns-exactly)) 0 1)))
++     (close-inline-blocks)))
++ 
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmptype.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmptype.lsp
++@@ -731,7 +731,7 @@
++        (keyed-cmpnote (list (var-name v) 'type-propagation 'type 'bump-cons-tp-if)
++                       "Bumping var ~s cons type ~s -> ~s, tp ~s"
++                       (var-name v) (cmp-unnorm-tp (var-type v)) (cmp-unnorm-tp (tp-or (var-type v) tp)) (cmp-unnorm-tp tp))
++-       (do-setq-tp v 'bump-cons-tp-if (tp-or (var-type v) tp))))
+++       (do-setq-tp v '(bump-cons-tp-if) (tp-or (var-type v) tp))))
++       (let ((s (var-store v)))
++      (when (listp s);FIXME
++        (dolist (b s)
++--- gcl27-2.7.1.orig/git.tag
+++++ gcl27-2.7.1/git.tag
++@@ -1,2 +1,2 @@
++-"Version_2_7_2ore5"
+++"Version_2_7_2pre6"
++ 
++--- gcl27-2.7.1.orig/info/c-interface.texi
+++++ gcl27-2.7.1/info/c-interface.texi
++@@ -50,7 +50,7 @@ Unsigned versions available are:
++ 
++ Complex float and complex double types can be access via:
++ 
++-    :fcomplex :dcomples
+++    :fcomplex :dcomplex
++ 
++ Pointers to types available are
++ 
++--- gcl27-2.7.1.orig/o/assignment.c
+++++ gcl27-2.7.1/o/assignment.c
++@@ -184,7 +184,7 @@ DEFUN("FSET",object,fSfset,SI,2,2,NONE,O
++     sym->s.s_gfdef = function;
++     sym->s.s_mflag = TRUE;
++   } else {
++-    sym->s.s_gfdef = function;
+++    sym->s.s_gfdef = function; /*FIXME*/
++     sym->s.s_mflag = FALSE;
++   }
++   
++--- gcl27-2.7.1.orig/o/num_arith.c
+++++ gcl27-2.7.1/o/num_arith.c
++@@ -1001,25 +1001,25 @@ number_divide(object x, object y)
++ 
++      case t_complex:
++      COMPLEX:
+++
+++       x = number_to_complex(x);
+++       y = number_to_complex(y);
+++
++      {
++-             object z1, z2, z3;
++ 
++-             x = number_to_complex(x);
++-             y = number_to_complex(y);
++-             z1 = number_times(y->cmp.cmp_real, y->cmp.cmp_real);
++-             z2 = number_times(y->cmp.cmp_imag, y->cmp.cmp_imag);
++-             z3 = number_plus(z1, z2);
++-             /* if (number_zerop(z3 = number_plus(z1, z2))) DIVISION_BY_ZERO(sLD,list(2,x,y)); */
++-             z1 = number_times(x->cmp.cmp_real, y->cmp.cmp_real);
++-             z2 = number_times(x->cmp.cmp_imag, y->cmp.cmp_imag);
++-             z1 = number_plus(z1, z2);
++-             z = number_times(x->cmp.cmp_imag, y->cmp.cmp_real);
++-             z2 = number_times(x->cmp.cmp_real, y->cmp.cmp_imag);
++-             z2 = number_minus(z, z2);
++-             z1 = number_divide(z1, z3);
++-             z2 = number_divide(z2, z3);
++-             z = make_complex(z1, z2);
++-             return(z);
+++       object yl=y->cmp.cmp_real,ys=y->cmp.cmp_imag,xl=x->cmp.cmp_real,xs=x->cmp.cmp_imag,r,dn,w;
+++       int s;
+++
+++       if ((s=(number_compare(number_abs(y->cmp.cmp_real),number_abs(y->cmp.cmp_imag))<0))) {
+++         w=ys;ys=yl;yl=w;w=xs;xs=xl;xl=w;
+++       }
+++
+++       r=number_divide(ys,yl);
+++       dn=number_plus(yl,number_times(r,ys));
+++       w=number_times(xl,r);
+++
+++       return make_complex(number_divide(number_plus(xl,number_times(xs,r)),dn),
+++                           number_divide(s ? number_minus(w,xs) : number_minus(xs,w),dn));
++      }
++ 
++      default:
++--- gcl27-2.7.1.orig/xgcl-2/gcl_editors.lsp
+++++ gcl27-2.7.1/xgcl-2/gcl_editors.lsp
++@@ -131,7 +131,7 @@
++     (draw-line-xy w (offsetx + 12) (offsety + 35)
++                  (offsetx + 12)
++                  (offsety + 48 + hdel * ((val - nmin) / ndel)) 7)
++-    (editors-update-in-box val w offsetx offsety 40 20))))
+++    (editors-update-in-box val w offsetx offsety 40 20)))
++ 
++ 
++ ; 20 Nov 91; 03 Dec 91; 15 Oct 93; 02 Dec 93; 08 Jan 04
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1cf50a2f15b67f7fc28f251ead21a25cdfe4350b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,156 @@@
++Description: <short summary of the patch>
++ TODO: Put a short summary on the line above and replace this paragraph
++ with a longer explanation of this change. Complete the meta-information
++ with other relevant fields (see below for details). To make it easier, the
++ information below has been extracted from the changelog. Adjust it or drop
++ it.
++ .
++ gcl27 (2.7.1-8) unstable; urgency=medium
++ .
++   * Bug fix: "FTBFS: /tmp/gazonk_6005_0.c:21:63: error: implicit
++     declaration of function &#39;__builtin_c23_va_start&#39;; did you mean
++     &#39;__builtin_ms_va_start&#39;? [-Wimplicit-function-declaration]",
++     thanks to Santiago Vila (Closes: #1114119).
++   * Version_2_7_2pre7
++Author: Camm Maguire <camm@debian.org>
++Bug-Debian: https://bugs.debian.org/1114119
++
++---
++The information above should follow the Patch Tagging Guidelines, please
++checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
++are templates for supplementary fields that you might want to add:
++
++Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
++Bug: <upstream-bugtracker-url>
++Bug-Debian: https://bugs.debian.org/<bugnumber>
++Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
++Forwarded: (no|not-needed|<patch-forwarded-url>)
++Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
++Reviewed-By: <name and email of someone who approved/reviewed the patch>
++Last-Update: 2025-09-21
++
++--- gcl27-2.7.1.orig/configure
+++++ gcl27-2.7.1/configure
++@@ -7000,6 +7000,61 @@ fi
++ 
++ 
++ 
+++add_arg_to_cppflags() {
+++
+++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CPPFLAG $1" >&5
+++printf %s "checking for CPPFLAG $1... " >&6; }
+++    CPPFLAGS_ORI=$CPPFLAGS
+++    CPPFLAGS="$CPPFLAGS -Werror $1 `echo $1|sed 's,-Wno-,-W,1'`"
+++    if test "$cross_compiling" = yes
+++then :
+++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+++printf "%s\n" "no" >&6; }
+++else case e in #(
+++  e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+++/* end confdefs.h.  */
+++
+++int
+++main (void)
+++{
+++
+++  ;
+++  return 0;
+++}
+++_ACEOF
+++if ac_fn_c_try_run "$LINENO"
+++then :
+++  CPPFLAGS="$CPPFLAGS_ORI $1";{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+++printf "%s\n" "yes" >&6; };return 0
+++else case e in #(
+++  e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+++printf "%s\n" "no" >&6; } ;;
+++esac
+++fi
+++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+++  conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+++esac
+++fi
+++
+++    CPPFLAGS=$CPPFLAGS_ORI
+++    return 1
+++
+++}
+++
+++assert_arg_to_cppflags() {
+++    if ! add_arg_to_cppflags $1 ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot add $1 to CPPFLAGS" >&5
+++printf "%s\n" "cannot add $1 to CPPFLAGS" >&6; }; exit 1 ; fi
+++    return 0
+++}
+++
+++add_args_to_cppflags() {
+++
+++    while test "$#" -ge 1 ; do
+++     add_arg_to_cppflags $1
+++     shift
+++    done
+++}
+++
++ add_arg_to_cflags() {
++ 
++     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFLAG $1" >&5
++@@ -7127,6 +7182,8 @@ printf "%s\n" "removing $1 from LDFLAGS"
++ 
++ }
++ 
+++add_args_to_cppflags -std=gnu17
+++
++ add_args_to_cflags  -fsigned-char -pipe -fcommon \
++                     -fno-builtin-malloc -fno-builtin-free \
++                     -fno-PIE -fno-pie -fno-PIC -fno-pic \
++--- gcl27-2.7.1.orig/configure.ac
+++++ gcl27-2.7.1/configure.ac
++@@ -170,6 +170,34 @@ fi
++ AC_SUBST(GCL_CC)
++ AC_SUBST(CPP)
++ 
+++add_arg_to_cppflags() {
+++
+++    AC_MSG_CHECKING([for CPPFLAG $1])
+++    CPPFLAGS_ORI=$CPPFLAGS
+++    CPPFLAGS="$CPPFLAGS -Werror $1 `echo $1|sed 's,-Wno-,-W,1'`"
+++    AC_RUN_IFELSE(
+++     [AC_LANG_PROGRAM([[]],[[]])],
+++     [CPPFLAGS="$CPPFLAGS_ORI $1";AC_MSG_RESULT([yes]);return 0],
+++     [AC_MSG_RESULT([no])],
+++     [AC_MSG_RESULT([no])])
+++    CPPFLAGS=$CPPFLAGS_ORI
+++    return 1
+++
+++}
+++
+++assert_arg_to_cppflags() {
+++    if ! add_arg_to_cppflags $1 ; then AC_MSG_RESULT([cannot add $1 to CPPFLAGS]); exit 1 ; fi
+++    return 0
+++}
+++
+++add_args_to_cppflags() {
+++
+++    while test "$#" -ge 1 ; do
+++     add_arg_to_cppflags $1
+++     shift
+++    done
+++}
+++
++ add_arg_to_cflags() {
++ 
++     AC_MSG_CHECKING([for CFLAG $1])
++@@ -242,6 +270,8 @@ remove_arg_from_ldflags() {
++ 
++ }
++ 
+++add_args_to_cppflags -std=gnu17
+++
++ add_args_to_cflags  -fsigned-char -pipe -fcommon \
++                     -fno-builtin-malloc -fno-builtin-free \
++                     -fno-PIE -fno-pie -fno-PIC -fno-pic \
++--- gcl27-2.7.1.orig/git.tag
+++++ gcl27-2.7.1/git.tag
++@@ -1,2 +1,2 @@
++-"Version_2_7_2pre6"
+++"Version_2_7_2pre7"
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b7d356d4bb8d4b4e78af1ff9e848965ba1e64560
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17403 @@@
++Description: <short summary of the patch>
++ TODO: Put a short summary on the line above and replace this paragraph
++ with a longer explanation of this change. Complete the meta-information
++ with other relevant fields (see below for details). To make it easier, the
++ information below has been extracted from the changelog. Adjust it or drop
++ it.
++ .
++ gcl27 (2.7.1-9) unstable; urgency=medium
++ .
++   * Version_2_7_2pre8
++Author: Camm Maguire <camm@debian.org>
++
++---
++The information above should follow the Patch Tagging Guidelines, please
++checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
++are templates for supplementary fields that you might want to add:
++
++Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
++Bug: <upstream-bugtracker-url>
++Bug-Debian: https://bugs.debian.org/<bugnumber>
++Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
++Forwarded: (no|not-needed|<patch-forwarded-url>)
++Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
++Reviewed-By: <name and email of someone who approved/reviewed the patch>
++Last-Update: 2026-02-19
++
++--- gcl27-2.7.1.orig/INSTALL
+++++ gcl27-2.7.1/INSTALL
++@@ -13,7 +13,10 @@ Basic Installation
++ 
++ should configure, build, and install this package.  The first line,
++ which bootstraps, is intended for developers; when building from
++-distribution tarballs it does nothing and can be skipped.
+++distribution tarballs it does nothing and can be skipped.  A package
+++might name the bootstrapping script differently; if the name is
+++‘autogen.sh’, for example, the first line should say ‘./autogen.sh’
+++instead of ‘./bootstrap’.
++ 
++    The following more-detailed instructions are generic; see the
++ ‘README’ file for instructions specific to this package.  Some packages
++@@ -25,23 +28,22 @@ found in the GNU Coding Standards.
++    Many packages have scripts meant for developers instead of ordinary
++ builders, as they may use developer tools that are less commonly
++ installed, or they may access the network, which has privacy
++-implications.  If the ‘bootstrap’ shell script exists, it attempts to
++-build the ‘configure’ shell script and related files, possibly using
++-developer tools or the network.  Because the output of ‘bootstrap’ is
++-system-independent, it is normally run by a package developer so that
++-its output can be put into the distribution tarball and ordinary
++-builders and users need not run ‘bootstrap’.  Some packages have
++-commands like ‘./autopull.sh’ and ‘./autogen.sh’ that you can run
++-instead of ‘./bootstrap’, for more fine-grained control over
++-bootstrapping.
++-
++-   The ‘configure’ shell script attempts to guess correct values for
++-various system-dependent variables used during compilation.  It uses
++-those values to create a ‘Makefile’ in each directory of the package.
++-It may also create one or more ‘.h’ files containing system-dependent
++-definitions.  Finally, it creates a shell script ‘config.status’ that
++-you can run in the future to recreate the current configuration, and a
++-file ‘config.log’ containing output useful for debugging ‘configure’.
+++implications.  These scripts attempt to bootstrap by building the
+++‘configure’ script and related files, possibly using developer tools or
+++the network.  Because the output of bootstrapping is system-independent,
+++it is normally run by a package developer so that its output can be put
+++into the distribution tarball and ordinary builders and users need not
+++bootstrap.  Some packages have commands like ‘./autopull.sh’ and
+++‘./autogen.sh’ that you can run instead of ‘./bootstrap’, for more
+++fine-grained control over bootstrapping.
+++
+++   The ‘configure’ script attempts to guess correct values for various
+++system-dependent variables used during compilation.  It uses those
+++values to create a ‘Makefile’ in each directory of the package.  It may
+++also create one or more ‘.h’ files containing system-dependent
+++definitions.  Finally, it creates a script ‘config.status’ that you can
+++run in the future to recreate the current configuration, and a file
+++‘config.log’ containing output useful for debugging ‘configure’.
++ 
++    It can also use an optional file (typically called ‘config.cache’ and
++ enabled with ‘--cache-file=config.cache’ or simply ‘-C’) that saves the
++@@ -64,9 +66,10 @@ editing ‘configure’ directly.
++   1. ‘cd’ to the directory containing the package’s source code.
++ 
++   2. If this is a developer checkout and file ‘configure’ does not yet
++-     exist, type ‘./bootstrap’ to create it.  You may need special
++-     developer tools and network access to bootstrap, and the network
++-     access may have privacy implications.
+++     exist, run the bootstrapping script (typically ‘./bootstrap’ or
+++     ‘./autogen.sh’) to bootstrap and create the file.  You may need
+++     special developer tools and network access to bootstrap, and the
+++     network access may have privacy implications.
++ 
++   3. Type ‘./configure’ to configure the package for your system.  This
++      might take a while.  While running, ‘configure’ prints messages
++@@ -101,6 +104,18 @@ editing ‘configure’ directly.
++   9. If the package follows the GNU Coding Standards, you can type ‘make
++      uninstall’ to remove the installed files.
++ 
+++Installation Prerequisites
+++==========================
+++
+++   Installation requires a POSIX-like environment with a shell and at
+++least the following standard utilities:
+++
+++     awk cat cp diff echo expr false ls mkdir mv printf pwd rm rmdir sed
+++     sort test tr
+++
+++This package’s installation may need other standard utilities such as
+++‘grep’, ‘make’, ‘sleep’ and ‘touch’, along with compilers like ‘gcc’.
+++
++ Compilers and Options
++ =====================
++ 
++@@ -356,7 +371,7 @@ more details.
++ Copyright notice
++ ================
++ 
++-   Copyright © 1994–1996, 1999–2002, 2004–2017, 2020–2024 Free Software
+++   Copyright © 1994–1996, 1999–2002, 2004–2017, 2020–2025 Free Software
++ Foundation, Inc.
++ 
++    Copying and distribution of this file, with or without modification,
++--- gcl27-2.7.1.orig/Makefile.am
+++++ gcl27-2.7.1/Makefile.am
++@@ -129,7 +129,7 @@ BASE_H= h/compbas2.h h/compbas.h h/compp
++      h/funlink.h h/globals.h h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h h/lu.h h/make-init.h \
++      h/mp.h h/notcomp.h h/num_include.h h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h h/pool.h \
++      h/prelink.h h/protoize.h h/ptable.h h/rgbc.h h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h \
++-        h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h h/apply_n.h \
+++        h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h \
++      gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h
++ CMPI_H=      h/compdefs.h h/cmpincl1.h h/mgmp.h h/compprotos.h h/compbas2.h h/cmponly_last.h
++ ARCHT_H=h/elf32_armhf_reloc.h h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h h/elf32_arm_reloc_special.h \
++@@ -161,7 +161,7 @@ C_SRC=o/typespec.c o/alloc.c o/gbc.c o/b
++ D_SRC=o/character.d o/file.d o/gcl_readline.d o/hash.d o/list.d o/package.d o/pathname.d o/print.d\
++       o/read.d o/sequence.d o/string.d o/symbol.d
++ BUILT_C=o/character.c o/file.c o/gcl_readline.c o/hash.c o/list.c o/package.c o/pathname.c o/print.c\
++-        o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c
+++        o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c o/qfv.c
++ 
++ INI_FILES=$(patsubst %.c,%.ini,$(C_SRC)) $(patsubst %.d,%.ini,$(D_SRC))
++ if AMM_GPROF
++@@ -352,6 +352,7 @@ unixport/ansi_gcl: clcs/package.lisp clc
++ $(addprefix gcl0/,$(LL_OBJS)): gcl0/%.o : lsp/%.lsp
++ $(addprefix gcl0/,$(LC_OBJS)): gcl0/%.o : cmpnew/%.lsp
++ gcl0/%.o: | unixport/gcl0
+++     rm -f $(@D)/$*.done
++      $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" -compile $< -o $@
++      [ "$*" = "gcl_c" ] || [ "$*" = "gcl_listlib" ] || \
++              ln -f $@ $$(echo $@ |sed 's,\.o,\.done,g') #FIXME directory link
++@@ -359,6 +360,7 @@ gcl0/%.o: | unixport/gcl0
++ $(addprefix gcl1/,$(LL_OBJS)): gcl1/%.o : lsp/%.lsp
++ $(addprefix gcl1/,$(LC_OBJS)): gcl1/%.o : cmpnew/%.lsp
++ gcl1/%.o: | unixport/gcl1
+++     rm -f $(@D)/$*.done
++      $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" \
++         -eval "(setq compiler::*dump-inl-hash* t)" \
++         -compile $< -o $@
++@@ -456,6 +458,9 @@ h/cmpincludea.h: $(filter-out gclincl.h,
++              $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \
++              $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
++ 
+++o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
+++     $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
+++
++ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
++      @cat $^ >new_$(@F)
++      @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
++--- gcl27-2.7.1.orig/Makefile.in
+++++ gcl27-2.7.1/Makefile.in
++@@ -1,7 +1,7 @@
++-# Makefile.in generated by automake 1.17 from Makefile.am.
+++# Makefile.in generated by automake 1.18.1 from Makefile.am.
++ # @configure_input@
++ 
++-# Copyright (C) 1994-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1994-2025 Free Software Foundation, Inc.
++ 
++ # This Makefile.in is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -197,13 +197,12 @@ am__lib_libbase_gcl_a_SOURCES_DIST = o/t
++      h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
++      h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
++      o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
++-     h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
++-     h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
++-     h/cmponly_last.h h/elf32_armhf_reloc.h \
++-     h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
++-     h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
++-     h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
++-     h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
+++     h/compat.h gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h \
+++     h/compdefs.h h/cmpincl1.h h/mgmp.h h/cmponly_last.h \
+++     h/elf32_armhf_reloc.h h/elf32_armhf_reloc_special.h \
+++     h/elf32_arm_reloc.h h/elf32_arm_reloc_special.h \
+++     h/elf32_hppa_reloc.h h/elf32_hppa_reloc_special.h \
+++     h/elf32_i386_reloc.h h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
++      h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
++      h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
++      h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
++@@ -258,7 +257,7 @@ am__objects_4 = o/character.$(OBJEXT) o/
++      o/gcl_readline.$(OBJEXT) o/hash.$(OBJEXT) o/list.$(OBJEXT) \
++      o/package.$(OBJEXT) o/pathname.$(OBJEXT) o/print.$(OBJEXT) \
++      o/read.$(OBJEXT) o/sequence.$(OBJEXT) o/string.$(OBJEXT) \
++-     o/symbol.$(OBJEXT) o/new_init.$(OBJEXT)
+++     o/symbol.$(OBJEXT) o/new_init.$(OBJEXT) o/qfv.$(OBJEXT)
++ nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_4)
++ lib_libbase_gcl_a_OBJECTS = $(am_lib_libbase_gcl_a_OBJECTS) \
++      $(nodist_lib_libbase_gcl_a_OBJECTS)
++@@ -287,13 +286,12 @@ am__lib_libbase_gcl_gprof_a_SOURCES_DIST
++      h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
++      h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
++      o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
++-     h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
++-     h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
++-     h/cmponly_last.h h/elf32_armhf_reloc.h \
++-     h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
++-     h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
++-     h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
++-     h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
+++     h/compat.h gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h \
+++     h/compdefs.h h/cmpincl1.h h/mgmp.h h/cmponly_last.h \
+++     h/elf32_armhf_reloc.h h/elf32_armhf_reloc_special.h \
+++     h/elf32_arm_reloc.h h/elf32_arm_reloc_special.h \
+++     h/elf32_hppa_reloc.h h/elf32_hppa_reloc_special.h \
+++     h/elf32_i386_reloc.h h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
++      h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
++      h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
++      h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
++@@ -399,7 +397,8 @@ am__objects_8 = o/lib_libbase_gcl_gprof_
++      o/lib_libbase_gcl_gprof_a-sequence.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-string.$(OBJEXT) \
++      o/lib_libbase_gcl_gprof_a-symbol.$(OBJEXT) \
++-     o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT)
+++     o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT) \
+++     o/lib_libbase_gcl_gprof_a-qfv.$(OBJEXT)
++ am__objects_9 = $(am__objects_8)
++ nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_9)
++ lib_libbase_gcl_gprof_a_OBJECTS =  \
++@@ -572,6 +571,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po \
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po \
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po \
+++     o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po \
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po \
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po \
++      o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po \
++@@ -606,7 +606,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.
++      o/$(DEPDIR)/number.Po o/$(DEPDIR)/package.Po \
++      o/$(DEPDIR)/pathname.Po o/$(DEPDIR)/predicate.Po \
++      o/$(DEPDIR)/prelink.Po o/$(DEPDIR)/print.Po \
++-     o/$(DEPDIR)/prog.Po o/$(DEPDIR)/read.Po \
+++     o/$(DEPDIR)/prog.Po o/$(DEPDIR)/qfv.Po o/$(DEPDIR)/read.Po \
++      o/$(DEPDIR)/reference.Po o/$(DEPDIR)/regexpr.Po \
++      o/$(DEPDIR)/run_process.Po o/$(DEPDIR)/sequence.Po \
++      o/$(DEPDIR)/sfasl.Po o/$(DEPDIR)/sockets.Po \
++@@ -1037,7 +1037,7 @@ BASE_H = h/compbas2.h h/compbas.h h/comp
++      h/funlink.h h/globals.h h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h h/lu.h h/make-init.h \
++      h/mp.h h/notcomp.h h/num_include.h h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h h/pool.h \
++      h/prelink.h h/protoize.h h/ptable.h h/rgbc.h h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h \
++-        h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h h/apply_n.h \
+++        h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h \
++      gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h
++ 
++ CMPI_H = h/compdefs.h h/cmpincl1.h h/mgmp.h h/compprotos.h h/compbas2.h h/cmponly_last.h
++@@ -1071,7 +1071,7 @@ D_SRC = o/character.d o/file.d o/gcl_rea
++       o/read.d o/sequence.d o/string.d o/symbol.d
++ 
++ BUILT_C = o/character.c o/file.c o/gcl_readline.c o/hash.c o/list.c o/package.c o/pathname.c o/print.c\
++-        o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c
+++        o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c o/qfv.c
++ 
++ INI_FILES = $(patsubst %.c,%.ini,$(C_SRC)) $(patsubst \
++      %.d,%.ini,$(D_SRC)) $(am__append_10)
++@@ -1418,6 +1418,7 @@ o/sequence.$(OBJEXT): o/$(am__dirstamp)
++ o/string.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
++ o/symbol.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
++ o/new_init.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+++o/qfv.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
++ lib/$(am__dirstamp):
++      @$(MKDIR_P) lib
++      @: >>lib/$(am__dirstamp)
++@@ -1588,6 +1589,8 @@ o/lib_libbase_gcl_gprof_a-symbol.$(OBJEX
++      o/$(DEPDIR)/$(am__dirstamp)
++ o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT): o/$(am__dirstamp) \
++      o/$(DEPDIR)/$(am__dirstamp)
+++o/lib_libbase_gcl_gprof_a-qfv.$(OBJEXT): o/$(am__dirstamp) \
+++     o/$(DEPDIR)/$(am__dirstamp)
++ 
++ lib/libbase_gcl_gprof.a: $(lib_libbase_gcl_gprof_a_OBJECTS) $(lib_libbase_gcl_gprof_a_DEPENDENCIES) $(EXTRA_lib_libbase_gcl_gprof_a_DEPENDENCIES) lib/$(am__dirstamp)
++      $(AM_V_at)-rm -f lib/libbase_gcl_gprof.a
++@@ -1850,6 +1853,7 @@ distclean-compile:
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po@am__quote@ # am--include-marker
+++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po@am__quote@ # am--include-marker
++@@ -1897,6 +1901,7 @@ distclean-compile:
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/prelink.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/print.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/prog.Po@am__quote@ # am--include-marker
+++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/qfv.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/read.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/reference.Po@am__quote@ # am--include-marker
++ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/regexpr.Po@am__quote@ # am--include-marker
++@@ -3086,6 +3091,20 @@ o/lib_libbase_gcl_gprof_a-new_init.obj:
++ @AMDEP_TRUE@@am__fastdepCC_FALSE@    DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ @am__fastdepCC_FALSE@        $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-new_init.obj `if test -f 'o/new_init.c'; then $(CYGPATH_W) 'o/new_init.c'; else $(CYGPATH_W) '$(srcdir)/o/new_init.c'; fi`
++ 
+++o/lib_libbase_gcl_gprof_a-qfv.o: o/qfv.c
+++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-qfv.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo -c -o o/lib_libbase_gcl_gprof_a-qfv.o `test -f 'o/qfv.c' || echo '$(srcdir)/'`o/qfv.c
+++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po
+++@AMDEP_TRUE@@am__fastdepCC_FALSE@    $(AM_V_CC)source='o/qfv.c' object='o/lib_libbase_gcl_gprof_a-qfv.o' libtool=no @AMDEPBACKSLASH@
+++@AMDEP_TRUE@@am__fastdepCC_FALSE@    DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+++@am__fastdepCC_FALSE@        $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-qfv.o `test -f 'o/qfv.c' || echo '$(srcdir)/'`o/qfv.c
+++
+++o/lib_libbase_gcl_gprof_a-qfv.obj: o/qfv.c
+++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-qfv.obj -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo -c -o o/lib_libbase_gcl_gprof_a-qfv.obj `if test -f 'o/qfv.c'; then $(CYGPATH_W) 'o/qfv.c'; else $(CYGPATH_W) '$(srcdir)/o/qfv.c'; fi`
+++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po
+++@AMDEP_TRUE@@am__fastdepCC_FALSE@    $(AM_V_CC)source='o/qfv.c' object='o/lib_libbase_gcl_gprof_a-qfv.obj' libtool=no @AMDEPBACKSLASH@
+++@AMDEP_TRUE@@am__fastdepCC_FALSE@    DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+++@am__fastdepCC_FALSE@        $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-qfv.obj `if test -f 'o/qfv.c'; then $(CYGPATH_W) 'o/qfv.c'; else $(CYGPATH_W) '$(srcdir)/o/qfv.c'; fi`
+++
++ o/lib_libgprof_a-gprof.o: o/gprof.c
++ @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libgprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libgprof_a-gprof.o -MD -MP -MF o/$(DEPDIR)/lib_libgprof_a-gprof.Tpo -c -o o/lib_libgprof_a-gprof.o `test -f 'o/gprof.c' || echo '$(srcdir)/'`o/gprof.c
++ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libgprof_a-gprof.Tpo o/$(DEPDIR)/lib_libgprof_a-gprof.Po
++@@ -3849,6 +3868,7 @@ cscopelist-am: $(am__tagged_files)
++ distclean-tags:
++      -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++      -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+++
++ distdir: $(BUILT_SOURCES)
++      $(MAKE) $(AM_MAKEFLAGS) distdir-am
++ 
++@@ -3902,6 +3922,10 @@ dist-bzip2: distdir
++      tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
++      $(am__post_remove_distdir)
++ 
+++dist-bzip3: distdir
+++     tardir=$(distdir) && $(am__tar) | bzip3 -c >$(distdir).tar.bz3
+++     $(am__post_remove_distdir)
+++
++ dist-lzip: distdir
++      tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
++      $(am__post_remove_distdir)
++@@ -3946,6 +3970,8 @@ distcheck: dist
++        eval GZIP= gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
++      *.tar.bz2*) \
++        bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+++     *.tar.bz3*) \
+++       bzip3 -dc $(distdir).tar.bz3 | $(am__untar) ;;\
++      *.tar.lz*) \
++        lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
++      *.tar.xz*) \
++@@ -4186,6 +4212,7 @@ distclean: distclean-am
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po
+++     -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po
++@@ -4233,6 +4260,7 @@ distclean: distclean-am
++      -rm -f o/$(DEPDIR)/prelink.Po
++      -rm -f o/$(DEPDIR)/print.Po
++      -rm -f o/$(DEPDIR)/prog.Po
+++     -rm -f o/$(DEPDIR)/qfv.Po
++      -rm -f o/$(DEPDIR)/read.Po
++      -rm -f o/$(DEPDIR)/reference.Po
++      -rm -f o/$(DEPDIR)/regexpr.Po
++@@ -4508,6 +4536,7 @@ maintainer-clean: maintainer-clean-am
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po
+++     -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po
++      -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po
++@@ -4555,6 +4584,7 @@ maintainer-clean: maintainer-clean-am
++      -rm -f o/$(DEPDIR)/prelink.Po
++      -rm -f o/$(DEPDIR)/print.Po
++      -rm -f o/$(DEPDIR)/prog.Po
+++     -rm -f o/$(DEPDIR)/qfv.Po
++      -rm -f o/$(DEPDIR)/read.Po
++      -rm -f o/$(DEPDIR)/reference.Po
++      -rm -f o/$(DEPDIR)/regexpr.Po
++@@ -4625,9 +4655,9 @@ uninstall-man: uninstall-man1
++      clean-local clean-my_gcltkPROGRAMS clean-my_unixportLIBRARIES \
++      clean-my_unixportPROGRAMS clean-noinstLIBRARIES \
++      clean-noinstPROGRAMS cscope cscopelist-am ctags ctags-am dist \
++-     dist-all dist-bzip2 dist-gzip dist-info dist-lzip dist-shar \
++-     dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \
++-     distclean-compile distclean-generic distclean-hdr \
+++     dist-all dist-bzip2 dist-bzip3 dist-gzip dist-info dist-lzip \
+++     dist-shar dist-tarZ dist-xz dist-zip dist-zstd distcheck \
+++     distclean distclean-compile distclean-generic distclean-hdr \
++      distclean-local distclean-tags distcleancheck distdir \
++      distuninstallcheck dvi dvi-am html html-am info info-am \
++      install install-am install-binSCRIPTS install-data \
++@@ -4778,6 +4808,7 @@ unixport/ansi_gcl: clcs/package.lisp clc
++ $(addprefix gcl0/,$(LL_OBJS)): gcl0/%.o : lsp/%.lsp
++ $(addprefix gcl0/,$(LC_OBJS)): gcl0/%.o : cmpnew/%.lsp
++ gcl0/%.o: | unixport/gcl0
+++     rm -f $(@D)/$*.done
++      $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" -compile $< -o $@
++      [ "$*" = "gcl_c" ] || [ "$*" = "gcl_listlib" ] || \
++              ln -f $@ $$(echo $@ |sed 's,\.o,\.done,g') #FIXME directory link
++@@ -4785,6 +4816,7 @@ gcl0/%.o: | unixport/gcl0
++ $(addprefix gcl1/,$(LL_OBJS)): gcl1/%.o : lsp/%.lsp
++ $(addprefix gcl1/,$(LC_OBJS)): gcl1/%.o : cmpnew/%.lsp
++ gcl1/%.o: | unixport/gcl1
+++     rm -f $(@D)/$*.done
++      $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" \
++         -eval "(setq compiler::*dump-inl-hash* t)" \
++         -compile $< -o $@
++@@ -4874,6 +4906,9 @@ h/cmpincludea.h: $(filter-out gclincl.h,
++              $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \
++              $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
++ 
+++o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
+++     $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
+++
++ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
++      @cat $^ >new_$(@F)
++      @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
++--- gcl27-2.7.1.orig/aclocal.m4
+++++ gcl27-2.7.1/aclocal.m4
++@@ -1,6 +1,6 @@
++-# generated automatically by aclocal 1.17 -*- Autoconf -*-
+++# generated automatically by aclocal 1.18.1 -*- Autoconf -*-
++ 
++-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
++ 
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -20,7 +20,7 @@ You have another version of autoconf.  I
++ If you have problems, you may need to regenerate the build system entirely.
++ To do so, use the procedure documented by the package, typically 'autoreconf'.])])
++ 
++-# Copyright (C) 2002-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2002-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -32,10 +32,10 @@ To do so, use the procedure documented b
++ # generated from the m4 files accompanying Automake X.Y.
++ # (This private macro should not be called outside this file.)
++ AC_DEFUN([AM_AUTOMAKE_VERSION],
++-[am__api_version='1.17'
+++[am__api_version='1.18'
++ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
++ dnl require some minimum version.  Point them to the right macro.
++-m4_if([$1], [1.17], [],
+++m4_if([$1], [1.18.1], [],
++       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
++ ])
++ 
++@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
++ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
++ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
++ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
++-[AM_AUTOMAKE_VERSION([1.17])dnl
+++[AM_AUTOMAKE_VERSION([1.18.1])dnl
++ m4_ifndef([AC_AUTOCONF_VERSION],
++   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
++ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
++ 
++ # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
++ 
++-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
++ 
++ # AM_CONDITIONAL                                            -*- Autoconf -*-
++ 
++-# Copyright (C) 1997-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1997-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -141,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
++ Usually this means the macro was only invoked conditionally.]])
++ fi])])
++ 
++-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -332,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
++ 
++ # Generate code to set up dependency tracking.              -*- Autoconf -*-
++ 
++-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -400,7 +400,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS]
++ 
++ # Do all the work for Automake.                             -*- Autoconf -*-
++ 
++-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -500,8 +500,9 @@ AC_REQUIRE([AC_PROG_AWK])dnl
++ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
++ AC_REQUIRE([AM_SET_LEADING_DOT])dnl
++ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
++-           [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
++-                          [_AM_PROG_TAR([v7])])])
+++  [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+++    [_AM_IF_OPTION([tar-v7], [_AM_PROG_TAR([v7])],
+++      [_AM_PROG_TAR([ustar])])])])
++ _AM_IF_OPTION([no-dependencies],,
++ [AC_PROVIDE_IFELSE([AC_PROG_CC],
++                [_AM_DEPENDENCIES([CC])],
++@@ -577,7 +578,7 @@ for _am_header in $config_headers :; do
++ done
++ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
++ 
++-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -598,7 +599,7 @@ if test x"${install_sh+set}" != xset; th
++ fi
++ AC_SUBST([install_sh])])
++ 
++-# Copyright (C) 2003-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2003-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -617,7 +618,7 @@ fi
++ rmdir .tst 2>/dev/null
++ AC_SUBST([am__leading_dot])])
++ 
++-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -666,7 +667,7 @@ AC_SUBST([lispdir])
++ 
++ # Check to see how 'make' treats includes.               -*- Autoconf -*-
++ 
++-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -709,7 +710,7 @@ AC_SUBST([am__quote])])
++ 
++ # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
++ 
++-# Copyright (C) 1997-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1997-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -743,7 +744,7 @@ fi
++ 
++ # Helper functions for option handling.                     -*- Autoconf -*-
++ 
++-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -772,7 +773,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
++ AC_DEFUN([_AM_IF_OPTION],
++ [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
++ 
++-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -804,7 +805,10 @@ AC_CACHE_CHECK(
++       break
++     fi
++   done
++-  rm -f core conftest*
+++  # aligned with autoconf, so not including core; see bug#72225.
+++  rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
+++    conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
+++    conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
++   unset am_i])
++ if test "$am_cv_prog_cc_c_o" != yes; then
++    # Losing compiler, so override with the script.
++@@ -819,7 +823,7 @@ AC_LANG_POP([C])])
++ # For backward compatibility.
++ AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
++ 
++-# Copyright (C) 2022-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2022-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -835,7 +839,7 @@ AS_IF([(rm -f && rm -fr && rm -rf) 2>/de
++ AC_SUBST(am__rm_f_notfound)
++ ])
++ 
++-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -854,7 +858,7 @@ AC_DEFUN([AM_RUN_LOG],
++ 
++ # Check to make sure that the build environment is sane.    -*- Autoconf -*-
++ 
++-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -1023,10 +1027,12 @@ am_lf='
++ '
++ case `pwd` in
++   *[[\\\"\#\$\&\'\`$am_lf]]*)
+++    AC_MSG_RESULT([no])
++     AC_MSG_ERROR([unsafe absolute working directory name]);;
++ esac
++ case $srcdir in
++   *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+++    AC_MSG_RESULT([no])
++     AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
++ esac
++ 
++@@ -1079,7 +1085,7 @@ AC_CONFIG_COMMANDS_PRE(
++ rm -f conftest.file
++ ])
++ 
++-# Copyright (C) 2009-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2009-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -1148,9 +1154,13 @@ fi
++ # empty being verbose).
++ AC_DEFUN([AM_SILENT_RULES],
++ [AC_REQUIRE([_AM_SILENT_RULES])
++-AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])])
+++AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])m4_newline
+++dnl We intentionally force a newline after the assignment, since a) nothing
+++dnl good can come of more text following, and b) that was the behavior
+++dnl before 1.17. See https://bugs.gnu.org/72267.
+++])
++ 
++-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -1178,7 +1188,7 @@ fi
++ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
++ AC_SUBST([INSTALL_STRIP_PROGRAM])])
++ 
++-# Copyright (C) 2006-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2006-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -1197,7 +1207,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_
++ 
++ # Check how to create a tarball.                            -*- Autoconf -*-
++ 
++-# Copyright (C) 2004-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2004-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++@@ -1332,7 +1342,7 @@ AC_SUBST([am__tar])
++ AC_SUBST([am__untar])
++ ]) # _AM_PROG_TAR
++ 
++-# Copyright (C) 2022-2024 Free Software Foundation, Inc.
+++# Copyright (C) 2022-2025 Free Software Foundation, Inc.
++ #
++ # This file is free software; the Free Software Foundation
++ # gives unlimited permission to copy and/or distribute it,
++--- gcl27-2.7.1.orig/ansi-tests/stable-sort.lsp
+++++ gcl27-2.7.1/ansi-tests/stable-sort.lsp
++@@ -174,6 +174,9 @@
++      i x y z))
++   (7 3 2 1) 3 1 2 3)
++ 
+++(deftest stable-sort.order.3
+++    (stable-sort "A1A2A3A4A5A6a1a2a3a4a5a6" 'char-lessp)
+++  "112233445566AAAAAAaaaaaa")
++ 
++ ;;; Error cases
++ 
++--- /dev/null
+++++ gcl27-2.7.1/bin/c23.awk
++@@ -0,0 +1,38 @@
+++#!/usr/bin/awk -f
+++
+++/^ *ufixnum *maxargs_for_awk *=/ {gsub("="," ");gsub(";"," ");maxargs=$NF+0;next}
+++
+++/^ *awk_generated_vc_apply_n_lines;$/ {
+++
+++    if (!maxargs) {printf("error: maxargs unset\n");exit(-1);}
+++   
+++    for (n=1;n<=maxargs;n++) {
+++     for (m=n;m;m--) {
+++         printf("\n\tcase %d*%d+%d: return ((object(*)(",n,maxargs+1,m);
+++            for (i=0;i<m;i++) printf("%sobject",i ? "," : "");
+++         printf(",...))f)(");
+++            for (i=0;i<n;i++) printf("%sx[%d]",i ? "," : "",i);
+++            printf(");");
+++     }
+++    }
+++    printf("\n");
+++    
+++    next;
+++    
+++}
+++
+++/^ *awk_generated_rc_apply_n_lines;$/ {
+++    
+++    for (n=0;n<=maxargs;n++) {
+++     printf("\n\tcase %d: return ((object(*)(",n);
+++     for (i=0;i<n;i++) printf("%sobject",i ? "," : "");
+++     printf("))f)(");
+++     for (i=0;i<n;i++) printf("%sx[%d]",i ? "," : "",i);
+++     printf(");");
+++    }
+++    printf("\n");
+++
+++    next;
+++}
+++
+++{print}
++--- gcl27-2.7.1.orig/bin/dpp.c
+++++ gcl27-2.7.1/bin/dpp.c
++@@ -62,6 +62,7 @@
++ #include <stdio.h>
++ #include <string.h>
++ #include <stdlib.h>
+++#include <stdbool.h>
++ 
++ #include "gclincl.h"
++ #include "config.h"
++@@ -81,8 +82,6 @@
++ #define      TRUE            1
++ #define      FALSE           0
++ 
++-typedef int bool;
++-
++ FILE *in, *out;
++ 
++ char filename[BUFSIZ];
++@@ -128,9 +127,8 @@ char *result[MAXRES];
++ int nres;
++ 
++ void
++-error(s)
++-char *s;
++-{
+++error(char *s) {
+++
++      printf("Error in line %d: %s.\n", line, s);
++      exit(0);
++ }
++@@ -165,9 +163,8 @@ nextc()
++ }
++ 
++ void
++-unreadc(c)
++-int c;
++-{
+++unreadc(int c) {
+++
++      if (c == '\n')
++              --line;
++      else if (c == '\t')
++@@ -176,9 +173,8 @@ int c;
++ }
++ 
++ void
++-put_tabs(n)
++-int n;
++-{
+++put_tabs(int n) {
+++
++      int i;
++ 
++      for (i = 0;  i < n;  i++)
++@@ -186,9 +182,8 @@ int n;
++ }
++ 
++ void
++-pushc(c)
++-int c;
++-{
+++pushc(int c) {
+++
++      if (poolp >= &pool[POOLSIZE])
++              error("buffer bool overflow");
++      *poolp++ = c;
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp
++@@ -52,6 +52,75 @@
++ (defvar  *use-sfuncall* t)
++ (defvar *super-funcall* nil)
++ 
+++;; (defun c2funcall (funob args &optional loc)
+++
+++;;   (unless (listp args)
+++;;     (if *compiler-push-events*
+++;;   (wt-nl "super_funcall(" loc ");")
+++;;       (if *super-funcall*
+++;;     (funcall *super-funcall* loc)
+++;;   (wt-nl "super_funcall_no_event(" loc ");")))
+++;;     (unwind-exit 'fun-val)
+++;;     (return-from c2funcall nil))
+++
+++;;   (unless (eq 'ordinary (car funob)) (baboon))
+++
+++;;   (let* ((fn (caddr funob))
+++;;    (all (cons fn args))
+++;;    (*inline-blocks* 0))
+++;;     (setq *sup-used* t)
+++;;     (unwind-exit 
+++;;      (get-inline-loc
+++;;       (list (make-list (length all) :initial-element t)
+++;;       '* #.(flags ans set svt) 
+++;;       (concatenate 'string
+++;;       "({object _z,_f=#0;fixnum _v=(fixnum)#v;
+++;;         fcall.fun=_f;fcall.valp=_v;fcall.argd=#n-1;
+++;;         _z=Rset && !(_f)->fun.fun_argd &&
+++;;         fcall.argd>=(_f)->fun.fun_minarg && fcall.argd<=((_f)->fun.fun_maxarg) ?
+++;;         "
+++;;       (if args
+++;;           "(_f)->fun.fun_self(#*)"
+++;;         "((_f)->fun.fun_maxarg ? (_f)->fun.fun_self(#?) : (_f)->fun.fun_self(#*))")
+++;;       " : call_proc_cs2(#?);
+++;;            if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
+++;;            _z;})")) all))
+++;;     (close-inline-blocks)))
+++
+++;; (defun c2funcall (funob args &optional loc)
+++
+++;;   (unless (listp args)
+++;;     (if *compiler-push-events*
+++;;   (wt-nl "super_funcall(" loc ");")
+++;;       (if *super-funcall*
+++;;     (funcall *super-funcall* loc)
+++;;   (wt-nl "super_funcall_no_event(" loc ");")))
+++;;     (unwind-exit 'fun-val)
+++;;     (return-from c2funcall nil))
+++
+++;;   (unless (eq 'ordinary (car funob)) (baboon))
+++
+++;;   (let* ((fn (caddr funob))
+++;;    (all (cons fn args))
+++;;    (*inline-blocks* 0))
+++;;     (setq *sup-used* t)
+++;;     (unwind-exit 
+++;;      (get-inline-loc
+++;;       (list (make-list (length all) :initial-element t)
+++;;       '* #.(flags ans set svt) 
+++;;       (concatenate 'string
+++;;       "({object _z,_f=#0;fixnum _v=(fixnum)#v;
+++;;         fcall.fun=_f;fcall.valp=_v;fcall.argd=#n-1;
+++;;         _z=Rset && !(_f)->fun.fun_argd &&
+++;;         fcall.argd>=(_f)->fun.fun_minarg && fcall.argd<=((_f)->fun.fun_maxarg) ?
+++;;         ({object _b[]={#*};
+++;;           quick_call_function_vec(_f,sizeof(_b)/sizeof(*_b),_b);}) :
+++;;         call_proc_cs2(#?);
+++;;         if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
+++;;         _z;})")) all))
+++;;     (close-inline-blocks)))
+++
+++
++ (defun c2funcall (funob args &optional loc)
++ 
++   (unless (listp args)
++@@ -67,24 +136,35 @@
++ 
++   (let* ((fn (caddr funob))
++       (all (cons fn args))
+++      (la1 (1- (length all)))
++       (*inline-blocks* 0))
++     (setq *sup-used* t)
++     (unwind-exit 
++      (get-inline-loc
++       (list (make-list (length all) :initial-element t)
++          '* #.(flags ans set svt) 
++-         (concatenate 'string
++-         "({object _z,_f=#0;fixnum _v=(fixnum)#v;
++-        fcall.fun=_f;fcall.valp=_v;fcall.argd=#n-1;
++-        _z=Rset && !(_f)->fun.fun_argd &&
++-        fcall.argd>=(_f)->fun.fun_minarg && fcall.argd<=((_f)->fun.fun_maxarg) ?
++-        "
++-         (if args
++-             "(_f)->fun.fun_self(#*)"
++-           "((_f)->fun.fun_maxarg ? (_f)->fun.fun_self(#?) : (_f)->fun.fun_self(#*))")
++-         " : call_proc_cs2(#?);
++-           if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
++-           _z;})")) all))
+++         (ms
+++         "({object _z,_f=fcall.fun=#0;fixnum _v=fcall.valp=(fixnum)#v;char _n=fcall.argd=#n-1;
+++        _n=Rset &&
+++            !_f->fun.fun_argd &&
+++            _n>=_f->fun.fun_minarg &&
+++            _n<=(_f->fun.fun_maxarg) ?
+++            _f->fun.fun_minarg-_n : -(MAX_ARGS+1);
+++        switch (_n) {
+++            case 0: _z=_f->fun.fun_minarg==_f->fun.fun_maxarg ?
+++                       (" (gcst la1) "_f->fun.fun_self)(#*) :
+++                       (" (gcst (max 1 la1) t) "_f->fun.fun_self)(#?);break;
+++            "
+++         (let ((i 0))
+++           (mapcan (lambda (x &aux (j (decf i)))
+++                     (declare (ignore x))
+++                     (list "case " (write-to-string j) ": _z=(" (gcst (max 1 (+ j la1)) t) "_f->fun.fun_self)(#?);break;
+++            "))
+++                   (make-list (max 0 la1))))
+++         "default: _z=call_proc_cs2(#?);break;
+++        }
+++        if (!_f->fun.fun_neval && !_f->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
+++        _z;})")) all))
++     (close-inline-blocks)))
++ 
++ 
++@@ -391,6 +471,63 @@
++ 
++ ;;make a function which will be called hopefully only once,
++ ;;and will establish the link.
+++
+++(defun stub-decl (name args d &optional vp
+++               &aux (i 0))
+++  (concatenate
+++   'string
+++   "static " d " " name ;" LnkT" num
+++   "("
+++   (apply 'concatenate 'string
+++       (mapcan (lambda (x)
+++                 (if (eq x '*)
+++                     (list ",...")
+++                     (list (if (plusp i) ","  "")
+++                           (rep-type x)
+++                           (progn (incf i) (if vp (concatenate 'string "x" (write-to-string i)) "")))))
+++               (if (eq (car args) '*) (cons t args) args)))
+++   ")"))
+++
+++
+++(defun stub (num name args type clp
+++          &aux (va (eq '* (car (last args)))) (n (if va 1 0))(i (max n (- (length args) n)));FIXME
+++            (d (declaration-type (rep-type (if (link-arg-p type) type t)))))
+++  (concatenate
+++   'string
+++   (stub-decl (concatenate 'string "LnkT" num) args d t)
+++   "{
+++      int nargs=" (if va "fcall.argd<0 ? -fcall.argd : fcall.argd" (write-to-string i)) ";
+++      object *FOO=alloca(nargs*sizeof(*FOO));
+++      "
+++
+++   (let ((j 0))
+++     (apply 'concatenate 'string
+++         (mapcan (lambda (x &aux (sj (write-to-string (incf j))))
+++                   (declare (ignore x))
+++                   (list "FOO[" sj "-1]=(object)x" sj ";"))
+++                 (make-list i))))
+++   (when va
+++     (concatenate
+++      'string
+++      "
+++      {
+++          va_list ap;
+++          va_start(ap,x" (write-to-string i) ");
+++          int i;
+++          for (i=" (write-to-string i) ";i<nargs;i++) FOO[i]=va_arg(ap,object);
+++          va_end(ap);
+++      }"))
+++
+++   "
+++      return (" d ")call_proc_new23("
+++   (vv-str name) ","
+++   (if clp "1" "0") ","
+++   (write-to-string (argsizes args type 0)) ","
+++   "(void **)(void *)&Lnk" num ","
+++   (write-to-string (new-proclaimed-argd args type)) ","
+++   "FOO);
+++}"))
+++
++ (defun wt-function-link (x)
++   (let* ((name (pop x))
++       (num (pop x))
++@@ -400,27 +537,11 @@
++       (args (pop x))
++       (clp (pop x)))
++     (declare (ignore n))
++-    (cond
++-      (t
++-       ;;change later to include above.
++-       ;;(setq type (cdr (assoc type '((t . "object")(:btpr . "bptr")))))
++-       (wt-nl1 "static " (declaration-type (rep-type type)) " LnkT" num)
++-       (let ((d (declaration-type (rep-type (if (link-arg-p type) type t)))));FIXME
++-      (if (or args (not (eq t type)))
++-          (wt "(object first,...){" d "V1;va_list ap;va_start(ap,first);V1=(" d ")"
++-              "call_proc_new(" (vv-str name) "," (if clp "1" "0") ","
++-              (write-to-string (argsizes args type 0));FIXME
++-              ",(void **)(void *)&Lnk" num "," (new-proclaimed-argd args type)
++-              ",first,ap);va_end(ap);return V1;}")
++-        (wt "(){" d "V1=(" d ")call_proc_new_nval(" (vv-str name) "," (if clp "1" "0") ","
++-            (write-to-string (argsizes args type 0));FIXME
++-            ",(void **)(void *)&Lnk" num "," (new-proclaimed-argd args type)
++-            ",0);return V1;}")))))
+++    (wt-nl1)
+++    (wt (stub num name args type clp))
++     (setq name (function-string name))
++     (if (find #\/ name) (setq name (remove #\/ name)))
++     (wt " /* " name " */")))
++-      
++-
++ 
++ ;;For funcalling when the argument is guaranteed to be a compiled-function.
++ ;;For (funcall-c he 3 4), he being a compiled function. (not a symbol)!
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpflet.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpflet.lsp
++@@ -493,7 +493,8 @@
++       (nm (c-function-name "L" (fun-cfun fun) (fun-name fun)))
++       (nm (concatenate 'string "(" (rep-type (coerce-to-one-value (cadr sig))) ")" nm))
++       (clp (when clp (ccb-vs-str (fun-ref-ccb fun))))
++-      (nm (if clp (ms clp "->fun.fun_self") nm))
+++      (als (cdr (mapcan (lambda (x) (list "," (if (eq x '*) "..." "object"))) (car sig))))
+++      (nm (if clp (ms "((object(*)(" als "))" clp "->fun.fun_self)") nm))
++       (inl (g1 clp nm sig ap clp (if clp -1 (fun-level fun)))))
++     `(,(adj-call-tps-max (car sig)) ,(cadr sig)
++       ,(if mv (flags rfa svt) (flags rfa))
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpfun.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpfun.lsp
++@@ -111,23 +111,25 @@
++ ;;             stream)
++ ;;       (list 'call-global info 'terpri (list stream))))
++ 
+++(defun gcst (n &optional e)
+++  (ms "(object(*)(" (cdr (mapcan (lambda (x) (declare (ignore x)) (list "," "object")) (make-list n))) (when e ",...") "))"))
++ 
++ (defun c2apply (funob args)
++   (unless (eq 'ordinary (car funob)) (baboon))
++   (let* ((fn (caddr funob))
++       (all (cons fn args))
+++      (la2 (- (length all) 2))
++       (*inline-blocks* 0))
++     (setq *sup-used* t)
++     (unwind-exit
++      (get-inline-loc
++       (list (make-list (length all) :initial-element t)
++          '* #.(flags ans set svt)
++-         (concatenate
++-          'string
+++         (ms
++           "({fixnum _v=(fixnum)#v;object _z,_f=(#0),_l=(#1),_ll=_l;
++         object _x4=Cnil,_x3=Cnil,_x2=Cnil,_x1=Cnil,_x0=Cnil;
++-        char _m=(#n-2),_q=_f->fun.fun_minarg>_m ? _f->fun.fun_minarg-_m : 0;
++-        char _n=Rset && !_f->fun.fun_argd ? _q : -1;
+++        char _m=(#n-2),_n=Rset && !_f->fun.fun_argd ? _f->fun.fun_minarg-_m : -(MAX_ARGS+1);
+++        char _reg=_f->fun.fun_minarg==_f->fun.fun_maxarg;
++         fcall.fun=_f;fcall.valp=_v;fcall.argd=-(#n-1);
++         switch (_n) {
++           case 5: if (_l==Cnil) {_n=-1;break;} _x4=_l->c.c_car;_l=_l->c.c_cdr;
++@@ -135,21 +137,30 @@
++           case 3: if (_l==Cnil) {_n=-1;break;} _x2=_l->c.c_car;_l=_l->c.c_cdr;
++           case 2: if (_l==Cnil) {_n=-1;break;} _x1=_l->c.c_car;_l=_l->c.c_cdr;
++           case 1: if (_l==Cnil) {_n=-1;break;} _x0=_l->c.c_car;_l=_l->c.c_cdr;
++-          case 0: if (_n+_m+(_l==Cnil ? 0 : 1)>_f->fun.fun_maxarg) _n=-1; else fcall.argd-=_n;
++-          default: break;
+++          case 0: if (_n+_m+(_l==Cnil ? 0 : 1)>_f->fun.fun_maxarg) _n=-(MAX_ARGS+1); else fcall.argd-=_n;
+++          default: if (_m+(_l==Cnil ? 0 : 1)>_f->fun.fun_maxarg) _n=-(MAX_ARGS+1);break;
++         }
++         switch (_n) {
++-          case 5:  _z=_f->fun.fun_self(#*_x4,_x3,_x2,_x1,_x0,_l);break;
++-          case 4:  _z=_f->fun.fun_self(#*_x3,_x2,_x1,_x0,_l);break;
++-          case 3:  _z=_f->fun.fun_self(#*_x2,_x1,_x0,_l);break;
++-          case 2:  _z=_f->fun.fun_self(#*_x1,_x0,_l);break;
++-          case 1:  _z=_f->fun.fun_self(#*_x0,_l);break;
++-          case 0:  _z="
++-          (if (cdr args)
++-              "_f->fun.fun_self(#*_l)"
++-            "(_f->fun.fun_maxarg ? _f->fun.fun_self(#*_l) : _f->fun.fun_self())")
++-          ";break;
++-          default: _z=call_proc_cs2(#*_ll);break;
+++          case 5:  _z=_reg ? (" (gcst (+ 5 la2)) "_f->fun.fun_self)(#*_x4,_x3,_x2,_x1,_x0) :
+++                             (" (gcst (+ 5 la2) t) "_f->fun.fun_self)(#*_x4,_x3,_x2,_x1,_x0,_l);break;
+++          case 4:  _z=_reg ? (" (gcst (+ 4 la2)) "_f->fun.fun_self)(#*_x3,_x2,_x1,_x0) :
+++                             (" (gcst (+ 4 la2) t) "_f->fun.fun_self)(#*_x3,_x2,_x1,_x0,_l);break;
+++          case 3:  _z=_reg ? (" (gcst (+ 3 la2)) "_f->fun.fun_self)(#*_x2,_x1,_x0) :
+++                             (" (gcst (+ 3 la2) t) "_f->fun.fun_self)(#*_x2,_x1,_x0,_l);break;
+++          case 2:  _z=_reg ? (" (gcst (+ 2 la2)) "_f->fun.fun_self)(#*_x1,_x0) :
+++                             (" (gcst (+ 2 la2) t) "_f->fun.fun_self)(#*_x1,_x0,_l);break;
+++          case 1:  _z=_reg ? (" (gcst (+ 1 la2)) "_f->fun.fun_self)(#*_x0) :
+++                             (" (gcst (+ 1 la2) t) "_f->fun.fun_self)(#*_x0,_l);break;
+++          case 0:  _z=_reg ? (" (gcst (+ 0 la2)) "_f->fun.fun_self)(#*) :
+++                             (" (gcst (max 1 (+ 0 la2)) t) "_f->fun.fun_self)(#*_l);break;
+++          "
+++                              (let ((i 0))
+++                                (mapcan (lambda (x)
+++                                          (declare (ignore x))
+++                                          (list "case " (write-to-string (decf i)) ": _z=(" (gcst (max 1 (+ i la2)) t) "_f->fun.fun_self)(#*_l);break;
+++          "))
+++                                        (make-list (max 0 la2))))
+++          "default: _z=call_proc_cs2(#*_ll);break;
++         }
++         if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
++         _z;})"))
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpinline.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpinline.lsp
++@@ -946,8 +946,8 @@
++                         ((eql ch #\n)
++                          (wt (length locs)))
++                         ((or (eql ch #\*) (eql ch #\?))
++-                         (let* ((f (char= (char fun (1- i)) #\())
++-                                (e (char= (char fun (+ 2 i)) #\)))
+++                         (let* ((f (member (char fun (1- i))  '(#\( #\{)))
+++                                (e (member (char fun (+ 2 i)) '(#\) #\})))
++                                 (locs (nthcdr max locs))
++                                 (locs (or locs (when (eql ch #\?) `((fixnum-value nil 0))))))
++                            (dolist (v locs (unless (or f e) (wt ",")))
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpmain.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpmain.lsp
++@@ -180,12 +180,23 @@
++              (when tem (truename tem))))))
++       ((setf (car *split-files*) (+ (third *split-files*) section-length))))))
++ 
+++(defun pathname-type-prefix (tp)
+++  (if (stringp tp) (subseq tp 0 (1+ (string-match #v"\\.[^\\.]*$" tp))) ""))
+++
+++(defun compile-file-pathname (pathname &key output-file &allow-other-keys)
+++  (declare (optimize (safety 1)))
+++  (check-type pathname pathname-designator)
+++  (check-type output-file (or null pathname-designator))
+++  (or output-file
+++      (make-pathname :defaults pathname
+++                  :type (strcat (pathname-type-prefix (pathname-type pathname)) "o"))))
+++
++ (defvar *init-name* nil)
++ (defvar *function-filename* nil)
++ (defvar *c-debug* nil)
++ (defvar *dump-inl-hash* nil)
++ (defun compile-file1 (input-pathname
++-                      &key (output-file (merge-pathnames ".o" (truename input-pathname)))
+++                      &key (output-file (compile-file-pathname (truename input-pathname)))
++                            (o-file t)
++                            (c-file *default-c-file*)
++                            (h-file *default-h-file*)
++@@ -242,12 +253,9 @@ Cannot compile ~a.~%" (namestring (merge
++    (when (consp *split-files*)
++      (file-position *compiler-input* (third *split-files*))
++      (setq output-file
++-        (make-pathname :device (pathname-device output-file)
++-                       :directory (pathname-directory output-file)
++-                       :name (format nil "~a~a"
++-                                     (pathname-name output-file)
++-                                     (length (second *split-files*)))
++-                       :type "o")))
+++        (merge-pathnames
+++         (format nil "~a~a" (pathname-name output-file) (length (second *split-files*)))
+++         output-file)))
++    
++    (with-open-file (s output-file :if-does-not-exist :create))
++    (setq *init-name* (init-name output-file t))
++@@ -256,16 +264,15 @@ Cannot compile ~a.~%" (namestring (merge
++                             (namestring (truename (pathname *compiler-input*)))))
++ 
++    (let* ((eof (cons nil nil))
++-       (dir    (or (unless (null output-file) (pathname-directory output-file)) (pathname-directory input-pathname)))
++-       (name   (or (unless (null output-file) (pathname-name output-file)) (pathname-name input-pathname)))
++-       (tp     (or (unless (null output-file) (pathname-type output-file)) "o"))
++-       (device (or (unless (null output-file) (pathname-device output-file)) (pathname-device input-pathname)))
++-       (o-pathname (get-output-pathname o-file tp name dir device))
++-       (c-pathname (get-output-pathname c-file "c" name dir device))
++-       (h-pathname (get-output-pathname h-file "h" name dir device))
++-       (data-pathname (get-output-pathname data-file "data" name dir device)))
++-
++-    (declare (special dir name));FIXME
+++       (device (pathname-device output-file))
+++       (dir (pathname-directory output-file))
+++       (name (pathname-name output-file))
+++       (typ (pathname-type output-file))
+++       (tp (pathname-type-prefix typ))
+++       (o-pathname (get-output-pathname o-file typ name dir device))
+++       (c-pathname (get-output-pathname c-file (strcat tp "c") name dir device))
+++       (h-pathname (get-output-pathname h-file (strcat tp "h") name dir device))
+++       (data-pathname (get-output-pathname data-file (strcat tp "data") name dir device)))
++ 
++     (init-env)
++ 
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmpopt.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmpopt.lsp
++@@ -1162,7 +1162,8 @@
++     (setf (get s 'lisp-type) l)))
++ 
++ (dolist (l '((object t)(plist proper-list)(float short-float)(double long-float)
++-          (pack (or null package)) (direl (or keyword null string))))
+++          (pack (or null package)) (direl (or keyword null string))
+++          (dirdir (or (eql :unspecific) proper-list))))
++   (let ((s (intern (symbol-name (car l)) 'keyword)))
++     (setf (get s 'lisp-type) (cadr l))))
++ 
++--- gcl27-2.7.1.orig/cmpnew/gcl_cmptop.lsp
+++++ gcl27-2.7.1/cmpnew/gcl_cmptop.lsp
++@@ -179,7 +179,7 @@
++ (defun init-name (p &optional sp)
++ 
++   (if sp
++-      (let* ((p (truename (merge-pathnames p #p".lsp")))
+++      (let* ((p (truename p))
++           (pn (pathname-name p))
++           (g (zerop (si::string-match #v"^gcl_" pn))))
++      (dash-to-underscore
++@@ -338,19 +338,8 @@
++ 
++       (when (eq type 'proclaimed-closure)
++      (wt-h "static object *Lclptr"num";"))
++-      
++-      (if (and (not (null type))
++-            (not (eq type 'proclaimed-closure))
++-            (or args (not (eq t type))))
++-       (progn
++-         (wt-h "static " d " LnkT" num "(object,...);")
++-         #-sgi3d (wt-h "static "  d " (*Lnk" num ")() = ("
++-                       d "(*)()) LnkT" num ";")
++-         #+sgi3d (wt-h "static "  d " (*Lnk" num ")();"))
++-     (progn 
++-       (wt-h "static " d " LnkT" num "();")
++-       #-sgi3d (wt-h "static "  d " (*Lnk" num ")() = LnkT" num ";")
++-       #+sgi3d (wt-h "static "  d " (*Lnk" num ")();"))))))
+++      (wt-h (stub-decl (concatenate 'string "LnkT" num) args d) ";")
+++      (wt-h (stub-decl (concatenate 'string "(*Lnk" num ")") args d) "=LnkT" num ";"))))
++ 
++ 
++ ;; this default will be as close to the the decision of the x3j13 committee
++@@ -1127,19 +1116,34 @@
++     (let ((x (position x +c-global-arg-types+ :test 'type<=)))
++       (if x (1+ x) 0))))
++ 
++-(defconstant +max-typed-args+
++-  (let ((x (cdr (tp-bnds (cadr (si::sig 'c-function-argd))))))
++-    (if (typep x 'fixnum) (1- (truncate (integer-length x) 2)) 0)))
+++(defun argd-sz nil
+++  (labels ((ff (x) (when (consp x) (if (eq (car x) 'the) (cdr (tp-bnds (cmp-norm-tp (cadr x)))) (or (ff (car x)) (ff (cdr x)))))))
+++    (ff (fle 'c-function-argd))))
+++
+++(defconstant +real-max-typed-args+
+++  (labels ((ret-max (x)
+++          (when (consp x)
+++            (if (eq (car x) 'the)
+++                (1- (truncate (integer-length (cdr (tp-bnds (cmp-norm-tp (cadr x))))) 2))
+++                (or (ret-max (car x)) (ret-max (cdr x)))))))
+++    (ret-max (fle 'c-function-argd))))
+++    
+++(defconstant +max-typed-args+ #+pre-gcl 0 #-pre-gcl +real-max-typed-args+)
++ 
++ (defun adj-call-tps-max (tps &aux (i -1))
++   (mapcar (lambda (x) (type-or1 (>= (incf i) +max-typed-args+) x)) tps))
++ 
++-(defun new-proclaimed-argd (args return)
++-  (do* ((type (f-type return) (f-type (pop args)))
++-     (i 0 (+ 2 i))
++-     (ans type (logior ans (ash type i))))
++-       ((or (>= i #.(ash +max-typed-args+ 1)) (null args))
++-     (the (unsigned-byte #.(1+ (ash +max-typed-args+ 1))) ans))))
+++(defun new-proclaimed-argd (args return &aux (i 0))
+++  (reduce (lambda (y x &aux (j (incf i)))
+++         (if (> j +max-typed-args+) y (logior y (ash (f-type x) (ash j 1)))));FIXME fragile wrt pre-gcl
+++       args :initial-value (f-type return)))
+++
+++;; (defun new-proclaimed-argd (args return)
+++;;   (do* ((type (f-type return) (f-type (pop args)))
+++;;   (i 0 (+ 2 i))
+++;;   (ans type (logior ans (ash type i))))
+++;;        ((or (>= i #.(ash +max-typed-args+ 1)) (null args))
+++;;   (the (unsigned-byte #.(ash (1+ +real-max-typed-args+) 1)) ans))))
++ 
++ (defun type-f (x)
++   (declare (fixnum x))
++--- gcl27-2.7.1.orig/compile
+++++ gcl27-2.7.1/compile
++@@ -1,9 +1,9 @@
++ #! /bin/sh
++ # Wrapper for compilers which do not understand '-c -o'.
++ 
++-scriptversion=2024-06-19.01; # UTC
+++scriptversion=2025-06-18.21; # UTC
++ 
++-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
++ # Written by Tom Tromey <tromey@cygnus.com>.
++ #
++ # This program is free software; you can redistribute it and/or modify
++@@ -37,11 +37,11 @@ IFS=" ""  $nl"
++ 
++ file_conv=
++ 
++-# func_file_conv build_file lazy
+++# func_file_conv build_file unneeded_conversions
++ # Convert a $build file to $host form and store it in $file
++ # Currently only supports Windows hosts. If the determined conversion
++-# type is listed in (the comma separated) LAZY, no conversion will
++-# take place.
+++# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no
+++# conversion will take place.
++ func_file_conv ()
++ {
++   file=$1
++@@ -51,9 +51,20 @@ func_file_conv ()
++      # lazily determine how to convert abs files
++      case `uname -s` in
++        MINGW*)
++-         file_conv=mingw
+++         if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then
+++           # MSYS2 environment.
+++           file_conv=cygwin
+++         else
+++           # Original MinGW environment.
+++           file_conv=mingw
+++         fi
++          ;;
++-       CYGWIN* | MSYS*)
+++       MSYS*)
+++         # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell.
+++         file_conv=cygwin
+++         ;;
+++       CYGWIN*)
+++         # Cygwin environment.
++          file_conv=cygwin
++          ;;
++        *)
++@@ -63,12 +74,14 @@ func_file_conv ()
++       fi
++       case $file_conv/,$2, in
++      *,$file_conv,*)
+++       # This is the optimization mentioned above:
+++       # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert.
++        ;;
++      mingw/*)
++        file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
++        ;;
++-     cygwin/* | msys/*)
++-       file=`cygpath -m "$file" || echo "$file"`
+++     cygwin/*)
+++       file=`cygpath -w "$file" || echo "$file"`
++        ;;
++      wine/*)
++        file=`winepath -w "$file" || echo "$file"`
++@@ -343,9 +356,9 @@ exit $ret
++ # Local Variables:
++ # mode: shell-script
++ # sh-indentation: 2
++-# eval: (add-hook 'before-save-hook 'time-stamp)
+++# eval: (add-hook 'before-save-hook 'time-stamp nil t)
++ # time-stamp-start: "scriptversion="
++-# time-stamp-format: "%:y-%02m-%02d.%02H"
+++# time-stamp-format: "%Y-%02m-%02d.%02H"
++ # time-stamp-time-zone: "UTC0"
++ # time-stamp-end: "; # UTC"
++ # End:
++--- gcl27-2.7.1.orig/configure
+++++ gcl27-2.7.1/configure
++@@ -2996,7 +2996,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
++ 
++ ac_config_headers="$ac_config_headers h/gclincl.h"
++ 
++-am__api_version='1.17'
+++am__api_version='1.18'
++ 
++ 
++ 
++@@ -3266,10 +3266,14 @@ am_lf='
++ '
++ case `pwd` in
++   *[\\\"\#\$\&\'\`$am_lf]*)
+++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+++printf "%s\n" "no" >&6; }
++     as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
++ esac
++ case $srcdir in
++   *[\\\"\#\$\&\'\`$am_lf\ \  ]*)
+++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+++printf "%s\n" "no" >&6; }
++     as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
++ esac
++ 
++@@ -5476,7 +5480,10 @@ _ACEOF
++       break
++     fi
++   done
++-  rm -f core conftest*
+++  # aligned with autoconf, so not including core; see bug#72225.
+++  rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
+++    conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
+++    conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
++   unset am_i ;;
++ esac
++ fi
++@@ -6703,7 +6710,10 @@ _ACEOF
++       break
++     fi
++   done
++-  rm -f core conftest*
+++  # aligned with autoconf, so not including core; see bug#72225.
+++  rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
+++    conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
+++    conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
++   unset am_i ;;
++ esac
++ fi
++@@ -7182,12 +7192,9 @@ printf "%s\n" "removing $1 from LDFLAGS"
++ 
++ }
++ 
++-add_args_to_cppflags -std=gnu17
++-
++ add_args_to_cflags  -fsigned-char -pipe -fcommon \
++                     -fno-builtin-malloc -fno-builtin-free \
++                     -fno-PIE -fno-pie -fno-PIC -fno-pic \
++-                 -std=gnu17 \
++                  -Wall \
++                  -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
++                  -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \
++--- gcl27-2.7.1.orig/configure.ac
+++++ gcl27-2.7.1/configure.ac
++@@ -270,12 +270,9 @@ remove_arg_from_ldflags() {
++ 
++ }
++ 
++-add_args_to_cppflags -std=gnu17
++-
++ add_args_to_cflags  -fsigned-char -pipe -fcommon \
++                     -fno-builtin-malloc -fno-builtin-free \
++                     -fno-PIE -fno-pie -fno-PIC -fno-pic \
++-                 -std=gnu17 \
++                  -Wall \
++                  -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
++                  -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \
++--- gcl27-2.7.1.orig/depcomp
+++++ gcl27-2.7.1/depcomp
++@@ -1,9 +1,9 @@
++ #! /bin/sh
++ # depcomp - compile a program generating dependencies as side-effects
++ 
++-scriptversion=2024-06-19.01; # UTC
+++scriptversion=2025-06-18.21; # UTC
++ 
++-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
++ 
++ # This program is free software; you can redistribute it and/or modify
++ # it under the terms of the GNU General Public License as published by
++@@ -784,9 +784,9 @@ exit 0
++ # Local Variables:
++ # mode: shell-script
++ # sh-indentation: 2
++-# eval: (add-hook 'before-save-hook 'time-stamp)
+++# eval: (add-hook 'before-save-hook 'time-stamp nil t)
++ # time-stamp-start: "scriptversion="
++-# time-stamp-format: "%:y-%02m-%02d.%02H"
+++# time-stamp-format: "%Y-%02m-%02d.%02H"
++ # time-stamp-time-zone: "UTC0"
++ # time-stamp-end: "; # UTC"
++ # End:
++--- gcl27-2.7.1.orig/gcl-tk/comm.c
+++++ gcl27-2.7.1/gcl-tk/comm.c
++@@ -79,8 +79,7 @@ setup_connection_state(int fd)
++ 
++ /* P is supposed to start with a hdr  and run N bytes. */
++ static void
++-scan_headers(sfd)
++-     struct connection_state *sfd;
+++scan_headers(struct connection_state *sfd)
++ { struct our_header *hdr;
++   char *p = sfd->valid_data + sfd->next_packet_offset;
++   int n = sfd->valid_data_size - sfd->next_packet_offset;
++@@ -118,11 +117,7 @@ send_confirmation(struct connection_stat
++ */   
++ 
++ static int
++-read1(sfd,p,m,timeout)
++-struct connection_state* sfd;     
++-char *p;
++-int timeout;
++-int m;
+++read1(struct connection_state* sfd,char *p,int m,int timeout)
++ { int nread=0;
++   int wanted = m;
++   int length;
++@@ -217,10 +212,7 @@ static void
++ connection_failure(char *);
++ 
++ int
++-write1(sfd,p,bytes)
++-     struct connection_state *sfd;
++-     const char *p;
++-     int bytes;
+++write1(struct connection_state *sfd,const char *p,int bytes)
++ { 
++   int bs;
++   int to_send = bytes;
++--- gcl27-2.7.1.orig/gcl-tk/guis.c
+++++ gcl27-2.7.1/gcl-tk/guis.c
++@@ -93,7 +93,7 @@ int fDebugSockets;
++ 
++ int hdl = -1;
++ 
++-void TkX_Wish ();
+++void TkX_Wish (int,char *[]);
++ 
++ pid_t parent;
++  
++@@ -335,11 +335,7 @@ char *envp[];
++ }
++ 
++ struct connection_state *
++-sock_connect_to_name(host_id,  name, async)
++-     char *host_id;
++-     int name;
++-     int async;
++-     
+++sock_connect_to_name(char *host_id,int  name,int async)
++ {
++   struct sockaddr_in addr;
++   int fd, n, rc;
++@@ -360,8 +356,7 @@ sock_connect_to_name(host_id,  name, asy
++ }
++ 
++ void
++-sock_close_connection(sfd)
++-struct connection_state *sfd;     
+++sock_close_connection(struct connection_state *sfd)
++ {
++   close( sfd->fd );
++   free(sfd->read_buffer);
++@@ -387,16 +382,8 @@ struct connection_state *sfd;
++ static int message_id;
++ 
++ int
++-sock_write_str2( sfd, type, hdr,
++-             hdrsize,text, length )
++-
++-struct connection_state *sfd;
++-enum mtype type;
++- char *hdr;
++-int hdrsize;
++-const char *text;
++-int length;
++-     
+++sock_write_str2(struct connection_state *sfd,enum mtype type,char *hdr,
+++             int hdrsize,const char *text,int length )
++ {
++   char buf[0x1000];
++   char *p = buf;
++@@ -447,10 +434,7 @@ int length;
++ 
++ 
++ struct message_header *
++-guiParseMsg1(sfd,buf,bufleng)
++-  char *buf;
++-int bufleng;
++-struct connection_state *sfd;
+++guiParseMsg1(struct connection_state *sfd,char *buf,int bufleng)
++ { int m;
++   int body_length;
++   int tot;
++@@ -489,12 +473,10 @@ error(s)
++ }
++ 
++ void
++-write_timeout_error(s)
++-     char *s;
+++write_timeout_error(char *s)
++ { fprintf(stderr,"write timeout: %s",s); abort();
++ }
++ void
++-connection_failure(s)
++-     char *s;
+++connection_failure(char *s)
++ { fprintf(stderr,"connection_failure:%s",s); abort();
++ }
++--- gcl27-2.7.1.orig/gcl-tk/guis.h
+++++ gcl27-2.7.1/gcl-tk/guis.h
++@@ -70,14 +70,14 @@ typedef struct _guiMsg {
++ */
++ 
++ #include "sheader.h"
++-struct message_header * guiParseMsg1();
+++struct message_header *guiParseMsg1(struct connection_state *,char *,int);
++ 
++ 
++ extern pid_t parent;
++ 
++-struct connection_state *
++-sock_connect_to_name();
++-void sock_close_connection( );
+++struct connection_state *sock_connect_to_name(char *,int,int);
+++void sock_close_connection(struct connection_state *);
+++
++ int sock_read_str();
++ 
++ guiMsg *guiParseMsg();
++--- gcl27-2.7.1.orig/gcl-tk/sheader.h
+++++ gcl27-2.7.1/gcl-tk/sheader.h
++@@ -109,4 +109,4 @@ extern struct connection_state *dsfd;
++ #define OBJ_TO_CONNECTION_STATE(x) \
++   ((struct connection_state *)(void *)((x)->ust.ust_self))
++ 
++-struct connection_state * setup_connection_state();
+++struct connection_state * setup_connection_state(int);
++--- gcl27-2.7.1.orig/gcl-tk/tkAppInit.c
+++++ gcl27-2.7.1/gcl-tk/tkAppInit.c
++@@ -61,8 +61,7 @@ int *tclDummyMainPtr = (int *) main;
++  */
++ 
++ int
++-Tcl_AppInit(interp)
++-    Tcl_Interp *interp;              /* Interpreter for application. */
+++Tcl_AppInit(Tcl_Interp *interp)/* Interpreter for application. */
++ {
++     Tk_Window mmain;
++ /*
++--- gcl27-2.7.1.orig/gcl-tk/tkMain.c
+++++ gcl27-2.7.1/gcl-tk/tkMain.c
++@@ -57,8 +57,9 @@
++ #include <sys/types.h>
++ #include <signal.h>
++ #include <errno.h>
+++#include <stdbool.h>
++ 
++-int writable_malloc=0; /*FIXME, don't wrap fopen here, exclude notcomp.h or equivalent */
+++bool writable_malloc=0; /*FIXME, don't wrap fopen here, exclude notcomp.h or equivalent */
++ 
++ #include "guis.h"
++ struct connection_state *dsfd;
++@@ -128,8 +129,7 @@ dfprintf(FILE *fp,char *s,...) {
++ #define SIGNAL_ERROR TCL_signal_error
++ 
++ static void
++-TCL_signal_error(x)
++-     char *x;
+++TCL_signal_error(char *x)
++ {char buf[300] ;
++   snprintf(buf,sizeof(buf),"error %s",x);
++  Tcl_Eval(interp,buf);
++@@ -196,9 +196,7 @@ EXTERN Tk_Window  TkCreateMainWindow _ANS
++                              char * screenName, char * baseName));
++ 
++ void
++-TkX_Wish (argc, argv)
++-    int argc;                                /* Number of arguments. */
++-    char **argv;                     /* Array of argument strings. */
+++TkX_Wish (int argc,char **argv)
++ {
++     char *args, *p;
++     const char *msg;
++@@ -402,18 +400,11 @@ static char *being_set_by_lisp;
++ 
++ static char *
++ tell_lisp_var_changed(
++-                clientData,
++-               interp,
++-               name1,
++-               name2,
++-                flags)
++-
++-          ClientData clientData;
++-               Tcl_Interp *interp;
++-               char *name1;
++-               char *name2;
++-               int flags;     
++-     
+++                ClientData clientData,
+++               Tcl_Interp *interp,
+++               const char *name1,
+++               const char *name2,
+++                int flags)
++ {
++ 
++   if (being_set_by_lisp == 0)
++@@ -459,9 +450,7 @@ tell_lisp_var_changed(
++ 
++     /* ARGSUSED */
++ static void
++-StdinProc(clientData, mask)
++-     ClientData clientData;          /* Not used. */
++-     int mask;                               /* Not used. */
+++StdinProc(ClientData clientData,int mask)
++ {
++   int fNotDone;
++   char *cmd;
++@@ -606,13 +595,9 @@ typedef struct _ClientDataLispObject {
++ } ClientDataLispObject;
++ 
++ static int
++-TclGenericCommandProcedure( clientData,
++-                        pinterp,
++-                         argc, argv)
++-     ClientData clientData;
++-     Tcl_Interp *pinterp;
++-     int argc;
++-     char *argv[];
+++TclGenericCommandProcedure(ClientData clientData,
+++                        Tcl_Interp *pinterp,
+++                         int argc,const char **argv)
++ {
++   char szCmd[CMD_SIZE];
++   ClientDataLispObject *pcdlo = (ClientDataLispObject *)clientData;
++@@ -623,7 +608,7 @@ TclGenericCommandProcedure( clientData,
++   STORE_3BYTES(q,(pcdlo->iSlot));
++   q += 3;
++   if (p == 0)
++-    { char *arg = (argc > 1 ? argv[1] : "");
+++    { const char *arg = (argc > 1 ? argv[1] : "");
++       int m = strlen(arg);
++       if (m > CMD_SIZE -50)
++      SIGNAL_ERROR("too big command");
++@@ -663,8 +648,7 @@ TclGenericCommandProcedure( clientData,
++ 
++ 
++ static void
++-guiCreateCommand( idLispObject,  iSlot , arglist)
++-     int idLispObject; int iSlot ; char *arglist;
+++guiCreateCommand(int idLispObject,int iSlot,char *arglist)
++ {
++   char szNameCmdProc[2000],*c;
++   ClientDataLispObject *pcdlo;
++--- gcl27-2.7.1.orig/git.tag
+++++ gcl27-2.7.1/git.tag
++@@ -1,2 +1,2 @@
++-"Version_2_7_2pre7"
+++"Version_2_7_2pre8"
++ 
++--- gcl27-2.7.1.orig/git_touch
+++++ gcl27-2.7.1/git_touch
++@@ -1,7 +1,15 @@
++ #!/bin/bash
++ 
++-touch aclocal.m4 \
++-      configure.ac gcl-tk/gcltksrv.in bin/gcl.in unixport/init_raw.lsp.in h/gclincl.h.in \
+++SLEEP=$1
+++
+++for i in  \
+++      configure.ac aclocal.m4 gcl-tk/gcltksrv.in bin/gcl.in unixport/init_raw.lsp.in h/gclincl.h.in \
++       configure \
++       Makefile.am Makefile.in \
++-      info/gcl.info info/gcl-si.info info/gcl-tk.info info/gcl-dwdoc.info
+++      info/gcl.info info/gcl-si.info info/gcl-tk.info info/gcl-dwdoc.info ; do
+++    touch $i
+++    if [ "$SLEEP" != "" ] ; then
+++     echo $i
+++     sleep $SLEEP
+++    fi
+++done
++--- gcl27-2.7.1.orig/h/att_ext.h
+++++ gcl27-2.7.1/h/att_ext.h
++@@ -144,7 +144,6 @@ EXTER object FASL_string;
++ /*  frame.c  */
++ 
++ /*  gbc.c  */
++-EXTER bool GBC_enable;
++ 
++ #ifdef CAN_UNRANDOMIZE_SBRK
++ EXTER bool gcl_unrandomized;
++@@ -418,4 +417,4 @@ EXTER object sSPmemory;
++ EXTER object sSPinit;
++ 
++ /* string.d */
++-int  (*casefun)();
+++int  (*casefun)(int,int *);
++--- gcl27-2.7.1.orig/h/cmponly_last.h
+++++ gcl27-2.7.1/h/cmponly_last.h
++@@ -5,3 +5,6 @@
++ /* #undef _setjmp */
++ /* #define _setjmp ((int(*)(void *))dlsetjmp) */
++ /* #endif */
+++
+++int setjmp(void *);
+++int _setjmp(void *);
++--- gcl27-2.7.1.orig/h/compdefs.h
+++++ gcl27-2.7.1/h/compdefs.h
++@@ -93,3 +93,5 @@ aref1
++ OBJ_ALIGNED_STACK_ALLOC(x)
++ NO_RETURN
++ CHAR_SIZE
+++MAX_ARGS
+++bool
++--- gcl27-2.7.1.orig/h/compprotos.h
+++++ gcl27-2.7.1/h/compprotos.h
++@@ -16,9 +16,8 @@ int number_zerop(object);
++ long int fixint(object);
++ object alloc_object(enum type);
++ object call_proc_cs2(object,...);
++-object call_proc_new(object,ufixnum,ufixnum,void **,ufixnum,object,va_list);
++-object call_proc_new_nval(object,ufixnum,ufixnum,void **,ufixnum,object,...);
++-object coerce_to_string();
+++object call_proc_new23(object,ufixnum,ufixnum,void **,ufixnum,object *);
+++object coerce_to_string(object);
++ object fixnum_big_shift(fixnum,fixnum);
++ object fixnum_times(fixnum,fixnum);
++ object fSgensym0(void);
++@@ -102,6 +101,4 @@ object file_stream(object);
++ fixnum fixnum_expt(fixnum, fixnum);
++ char *gcl_gets(char *,int);
++ int gcl_puts(const char *);
++-int setjmp();
++-int _setjmp();
++ char *object_to_string(object);
++--- gcl27-2.7.1.orig/h/error.h
+++++ gcl27-2.7.1/h/error.h
++@@ -99,7 +99,7 @@ object ihs_top_function_name(ihs_ptr h);
++                                                  sKformat_control,make_simple_string(a_),sKformat_arguments,list(1,(b_)))
++ #define FEtoo_few_arguments(a_,b_) \
++   Icall_error_handler(sLprogram_error,null_string,4,\
++-                      sKformat_control,make_simple_string("~S [or a callee] requires more than ~R argument~:p."),\
+++                      sKformat_control,make_simple_string("~S [or a callee] requires less than ~R argument~:p."),\
++                       sKformat_arguments,list(2,ihs_top_function_name(ihs_top),make_fixnum((b_)-(a_))))
++ #define FEwrong_no_args(a_,b_) \
++   Icall_error_handler(sLprogram_error,null_string,4,\
++@@ -112,7 +112,7 @@ object ihs_top_function_name(ihs_ptr h);
++ 
++ #define FEtoo_many_arguments(a_,b_) \
++   Icall_error_handler(sLprogram_error,null_string,4,\
++-                      sKformat_control,make_simple_string("~S [or a callee] requires less than ~R argument~:p."),\
+++                      sKformat_control,make_simple_string("~S [or a callee] requires more than ~R argument~:p."),\
++                       sKformat_arguments,list(2,ihs_top_function_name(ihs_top),make_fixnum((b_)-(a_))))
++ #define FEtoo_many_argumentsF(a_) \
++   Icall_error_handler(sLprogram_error,null_string,4,\
++--- gcl27-2.7.1.orig/h/linux.h
+++++ gcl27-2.7.1/h/linux.h
++@@ -165,7 +165,7 @@ do { int c = 0; \
++ #else
++ 
++ #define FPE_TCODE(x_) \
++-  {ufixnum _x=(x_),_y=0;                     \
+++  ({ufixnum _x=(x_),_y=0;                    \
++    switch(_x) {                                      \
++    case FPE_FLTINV: _y=FE_INVALID;break;     \
++    case FPE_FLTDIV: _y=FE_DIVBYZERO;break;   \
++@@ -174,7 +174,7 @@ do { int c = 0; \
++    case FPE_FLTRES: _y=FE_INEXACT;break;     \
++    }                                         \
++    _y;                                               \
++-  }
+++  })
++ #define FPE_CODE(i_,v_) make_fixnum(FPE_TCODE((fixnum)SF(i_)->si_code))
++ #define FPE_ADDR(i_,v_) make_fixnum((fixnum)SF(i_)->si_addr)
++ #define FPE_CTXT(v_) Cnil
++--- gcl27-2.7.1.orig/h/lu.h
+++++ gcl27-2.7.1/h/lu.h
++@@ -47,6 +47,7 @@ typedef void   (*vfunc)();
++ typedef object integer;
++ typedef object keyword;
++ typedef object direl;
+++typedef object dirdir;
++ typedef object plist;
++ typedef object pack;
++ typedef object real;
++@@ -57,8 +58,7 @@ typedef float  shortfloat;
++ typedef double longfloat;
++ typedef float  complex fcomplex;
++ typedef double complex dcomplex;
++-#undef bool
++-typedef int bool;
+++#include <stdbool.h>
++ typedef unsigned short int ushort;
++ typedef unsigned int uint;
++ 
++@@ -462,7 +462,7 @@ struct pathname {
++ 
++   direl  pn_host;      /*  host  */
++   direl  pn_device;    /*  device  */
++-  plist  pn_directory; /*  directory  */
+++  dirdir pn_directory; /*  directory  */
++   direl  pn_name;      /*  name  */
++   direl  pn_type;      /*  type  */
++   direl  pn_version;   /*  version  */
++--- gcl27-2.7.1.orig/h/notcomp.h
+++++ gcl27-2.7.1/h/notcomp.h
++@@ -10,7 +10,7 @@
++ 
++ 
++ EXTER int *cs_org;     
++-EXTER int GBC_enable;
+++EXTER bool GBC_enable;
++ 
++ #define CHAR_SIZE 8
++ EXTER object sSAnotify_gbcA;
++@@ -20,7 +20,7 @@ EXTER int interrupt_flag,interrupt_enabl
++ /* void sigint(),sigalrm(); */
++ 
++ 
++-EXTER int gc_enabled, saving_system;
+++EXTER bool gc_enabled, saving_system;
++ 
++ EXTER object lisp_package,user_package;
++ EXTER char *core_end;
++--- gcl27-2.7.1.orig/h/protoize.h
+++++ gcl27-2.7.1/h/protoize.h
++@@ -366,7 +366,7 @@ object funcall_vec(object,fixnum,object
++ /* unixtime.c:173:OF */ extern void gcl_init_unixtime (void); /* () */
++ /* user_init.c:2:OF */ extern object user_init (void); /* () */
++ /* user_init.c:2:OF */ extern int user_match (const char *,int n); /* () */
++-/* usig.c:49:OF */ extern void gcl_signal (int signo, void (*handler) (/* ??? */)); /* (signo, handler) int signo; void (*handler)(); */
+++/* usig.c:49:OF */ extern void gcl_signal (int signo, void (*handler)(int,long,void *,char *)); /* (signo, handler) int signo; void (*handler)(); */
++ /* usig.c:92:OF */ extern int unblock_signals (int n, int m); /* (n, m) int n; int m; */
++ /* usig.c:119:OF */ extern void unblock_sigusr_sigio (void); /* () */
++ /* usig.c:182:OF */ extern void install_default_signals (void); /* () */
++@@ -1674,3 +1674,6 @@ void stack_list(void);
++ void *msbrk(intptr_t);
++ int msbrk_init(void);
++ int msbrk_end(void);
+++
+++object
+++quick_call_function_vec(object,ufixnum,object *);
++--- gcl27-2.7.1.orig/h/usig.h
+++++ gcl27-2.7.1/h/usig.h
++@@ -1,4 +1,4 @@
++-typedef void (*handler_function_type)(int,siginfo_t *,void *);
+++typedef void (*handler_function_type)(int,long,void *,char *);
++ 
++ EXTER handler_function_type our_signal_handler[32];
++ 
++--- gcl27-2.7.1.orig/install-sh
+++++ gcl27-2.7.1/install-sh
++@@ -1,7 +1,7 @@
++ #!/bin/sh
++ # install - install a program, script, or datafile
++ 
++-scriptversion=2024-06-19.01; # UTC
+++scriptversion=2025-06-18.21; # UTC
++ 
++ # This originates from X11R5 (mit/util/scripts/install.sh), which was
++ # later released in X11R6 (xc/config/util/install.sh) with the
++@@ -533,9 +533,9 @@ do
++ done
++ 
++ # Local variables:
++-# eval: (add-hook 'before-save-hook 'time-stamp)
+++# eval: (add-hook 'before-save-hook 'time-stamp nil t)
++ # time-stamp-start: "scriptversion="
++-# time-stamp-format: "%:y-%02m-%02d.%02H"
+++# time-stamp-format: "%Y-%02m-%02d.%02H"
++ # time-stamp-time-zone: "UTC0"
++ # time-stamp-end: "; # UTC"
++ # End:
++--- gcl27-2.7.1.orig/lsp/gcl_deftype.lsp
+++++ gcl27-2.7.1/lsp/gcl_deftype.lsp
++@@ -6,7 +6,7 @@
++        non-negative-short-float negative-long-float positive-long-float
++        non-positive-long-float non-negative-long-float negative-float
++        positive-float non-positive-float non-negative-float negative-real
++-       positive-real non-positive-real non-negative-real complex*
+++       positive-real non-positive-real non-negative-real complex* pathname-designator
++        complex-integer complex-integer-ratio complex-ratio-integer seqind seqbnd
++        complex-ratio complex-short-float complex-long-float make-complex unordered));FIXME
++ 
++--- gcl27-2.7.1.orig/lsp/gcl_directory.lsp
+++++ gcl27-2.7.1/lsp/gcl_directory.lsp
++@@ -49,11 +49,16 @@
++                             (expand-wild-directory d (cons :relative (cdr x)) f q e)) :directory));FIXME
++          ((funcall f z y))))))
++ 
++-(defun directory (p &key &aux (p (translate-logical-pathname p))(d (pathname-directory p))
++-                 (c (unless (eq (car d) :absolute) (make-frame (namestring *current-directory*))))
++-                 (lc (when c (length c)))
++-                 (filesp (or (pathname-name p) (pathname-type p)))
++-                 (v (compile-regexp (to-regexp p)))(*up-key* :back) r)
+++(defun directory (p &key &aux (p (merge-pathnames (translate-logical-pathname p)
+++                                               #.`(load-time-value
+++                                                   (make-pathname
+++                                                    ,@(mapcan (lambda (x) (list x (if (eq x :directory) `'(:relative) :unspecific)))
+++                                                              +pathname-keys+)))))
+++                        (d (pathname-directory p))
+++                        (c (unless (eq (car d) :absolute) (make-frame (namestring *current-directory*))))
+++                        (lc (when c (length c)))
+++                        (filesp (or (pathname-name p) (pathname-type p)))
+++                        (v (compile-regexp (to-regexp p)))(*up-key* :back) r)
++   (expand-wild-directory (pathname-device p) d
++    (lambda (dir exp &aux (pexp (pathname (if c (vector-push-string c exp 0 lc) exp))))
++      (if filesp
++--- gcl27-2.7.1.orig/lsp/gcl_logical_pathname_translations.lsp
+++++ gcl27-2.7.1/lsp/gcl_logical_pathname_translations.lsp
++@@ -24,5 +24,5 @@
++     (error "No translations found for ~s" k)))
++ 
++ (defun logical-pathname-host-p (host)
++-  (when host
+++  (when (stringp host)
++     (logical-pathname-translations host)))
++--- gcl27-2.7.1.orig/lsp/gcl_make_pathname.lsp
+++++ gcl27-2.7.1/lsp/gcl_make_pathname.lsp
++@@ -47,7 +47,8 @@
++ 
++ (defconstant +physical-pathname-defaults+ '(("" "" "" "")
++                                          ("" "" "" "")
++-                                         ("" "(/?([^/]+/)*)" "" "" "" "([^/]+/)" "/" "/")
+++                                         ("" "(/?([^/]*/)*)" "" "" "" "([^/]*/)" "/" "/")
+++;                                        ("" "(/?([^/]+/)*)" "" "" "" "([^/]+/)" "/" "/")
++                                          ("" "([^/.]*)" "" ".")
++                                          ("." "(\\.[^/]*)?" "" "")
++                                          ("" "" "" "")))
++@@ -88,7 +89,8 @@
++       ((eql :wild) (if rp (list dflt) (elsub "*" x rp lp)))
++       ((eql :newest) (elsub (if rp "(newest|NEWEST)" "NEWEST") x rp lp))
++       ((member :up :back) (elsub ".." x rp lp))
++-      ((member nil :unspecific) (when rp (list dflt)))
+++      (null (when rp (list dflt)))
+++      ((eql :unspecific) nil)
++       (cons (cons
++           (if (eq (car el) :absolute) (if lp "" "/") (if lp ";" ""))
++           (mapcan (lambda (z) (elsub z y rp lp)) (cdr el)))))
++@@ -103,15 +105,17 @@
++               x (if lp +logical-pathname-defaults+ +physical-pathname-defaults+))))
++ 
++ (defun directory-list-check (l)
++-  (when (listp l)
++-    (when (member (car l) '(:absolute :relative))
++-      (mapl (lambda (x &aux (c (car x))(d (cadr x)))
++-           (when (and (member d '(:up :back)) (member c '(:absolute :wild-inferiors)))
++-             (return-from directory-list-check nil))) l))))
+++  (if (atom l) l
+++      (when (member (car l) '(:absolute :relative))
+++     (mapl (lambda (x &aux (c (car x))(d (cadr x)))
+++             (when (and (member d '(:up :back)) (member c '(:absolute :wild-inferiors)))
+++               (return-from directory-list-check nil)))
+++           l))))
++     
++ (defun canonicalize-pathname-directory (l)
++   (cond ((eq l :wild) (canonicalize-pathname-directory '(:absolute :wild-inferiors)))
++      ((stringp l) (canonicalize-pathname-directory (list :absolute l)))
+++     ((eq l :unspecific) l)
++      ((mapl (lambda (x &aux (c (car x))
++                          (skip (cond ((equal c ".") (cdr x))
++                                      ((when (or (stringp c) (eq c :wild)) (eq (cadr x) :back)) (cddr x)))))
++--- gcl27-2.7.1.orig/lsp/gcl_merge_pathnames.lsp
+++++ gcl27-2.7.1/lsp/gcl_merge_pathnames.lsp
++@@ -11,7 +11,7 @@
++      :host (or (pathname-host pn) (def (pathname-host def-pn)))
++      :device (or (pathname-device pn) (def (pathname-device def-pn)))
++      :directory (let ((d (pathname-directory pn))(defd (pathname-directory def-pn)))
++-               (or (def (when (and defd (eq (car d) :relative)) (append defd (cdr d)))) d (def defd)))
+++               (or (def (when (and defd (listp d) (listp defd) (eq (car d) :relative)) (append defd (cdr d)))) d (def defd)))
++      :name (or (pathname-name pn) (def (pathname-name def-pn)))
++      :type (or (pathname-type pn) (def (pathname-type def-pn)))
++      :version (or (pathname-version pn) (def (unless (pathname-name pn) (pathname-version def-pn))) (def def-v))
++--- gcl27-2.7.1.orig/lsp/gcl_mislib.lsp
+++++ gcl27-2.7.1/lsp/gcl_mislib.lsp
++@@ -104,9 +104,6 @@
++   (decode-universal-time (get-universal-time)))
++ 
++ ;Courtesy Paul Dietz
++-(defun compile-file-pathname (pathname)
++-  (declare (optimize (safety 2)))
++-  (make-pathname :defaults pathname :type "o"))
++ 
++ (defun constantly (x)
++   (declare (optimize (safety 2)))
++--- gcl27-2.7.1.orig/lsp/gcl_seqlib.lsp
+++++ gcl27-2.7.1/lsp/gcl_seqlib.lsp
++@@ -384,17 +384,17 @@
++                (push ns ii) (push ns1 ii))
++              (setq ls nls fi nfi))))))))
++ 
++-
++ (defun stable-sort (sequence predicate &key key)
++   (declare (optimize (safety 1)))
++   (check-type sequence proper-sequence)
++-  (typecase 
++-   sequence
++-   (list (list-merge-sort sequence predicate key))
++-   (string (sort sequence predicate :key key))
++-   (bit-vector (sort sequence predicate :key key))
++-   (otherwise 
++-    (replace sequence (list-merge-sort (coerce sequence 'list) predicate key)))))
+++  (if (listp sequence)
+++      (list-merge-sort sequence predicate key)
+++      (let (r rp)
+++     (dotimes (i (length sequence))
+++       (let ((tmp (cons (aref sequence i) nil)))
+++         (declare (dynamic-extent tmp))
+++         (setq rp (if rp (cdr (rplacd rp tmp)) (setq r tmp)))))
+++     (replace sequence (list-merge-sort r predicate key)))))
++ 
++ (eval-when (compile eval)
++   (defmacro f+ (x y) `(the fixnum (+ (the fixnum ,x) (the fixnum ,y))))
++--- gcl27-2.7.1.orig/missing
+++++ gcl27-2.7.1/missing
++@@ -1,11 +1,11 @@
++ #! /bin/sh
++ # Common wrapper for a few potentially missing GNU and other programs.
++ 
++-scriptversion=2024-06-07.14; # UTC
+++scriptversion=2025-06-18.21; # UTC
++ 
++ # shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells
++ 
++-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
+++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
++ # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
++ 
++ # This program is free software; you can redistribute it and/or modify
++@@ -228,9 +228,9 @@ give_advice "$1" | sed -e '1s/^/WARNING:
++ exit $st
++ 
++ # Local variables:
++-# eval: (add-hook 'before-save-hook 'time-stamp)
+++# eval: (add-hook 'before-save-hook 'time-stamp nil t)
++ # time-stamp-start: "scriptversion="
++-# time-stamp-format: "%:y-%02m-%02d.%02H"
+++# time-stamp-format: "%Y-%02m-%02d.%02H"
++ # time-stamp-time-zone: "UTC0"
++ # time-stamp-end: "; # UTC"
++ # End:
++--- gcl27-2.7.1.orig/o/character.d
+++++ gcl27-2.7.1/o/character.d
++@@ -108,9 +108,8 @@ Foundation, 675 Mass Ave, Cambridge, MA
++      If r > 36 or i is not a digit, -1 is returned.
++ */
++ int
++-digitp(i, r)
++-int i, r;
++-{
+++digitp(int i,int r) {
+++
++      if ('0' <= i && i <= '9' && 1 < r && i < '0' + r)
++              return(i - '0');
++      if ('A' <= i && 10 < r && r <= 36 && i < 'A' + (r - 10))
++@@ -149,9 +148,8 @@ int i, r;
++ @)
++ 
++ bool
++-char_eq(x, y)
++-object x, y;
++-{
+++char_eq(object x,object y) {
+++
++      return(char_code(x) == char_code(y)
++          && char_bits(x) == char_bits(y)
++          && char_font(x) == char_font(y));
++@@ -186,9 +184,8 @@ object x, y;
++ 
++ 
++ static int
++-char_cmp(x, y)
++-object x, y;
++-{
+++char_cmp(object x,object y) {
+++
++      if (char_font(x) < char_font(y))
++              return(-1);
++      if (char_font(x) > char_font(y))
++@@ -205,9 +202,8 @@ object x, y;
++ }
++ 
++ static void
++-Lchar_cmp(s, t)
++-int s, t;
++-{
+++Lchar_cmp(int s,int t) {
+++
++      int narg, i;
++ 
++      narg = vs_top - vs_base;
++@@ -232,9 +228,8 @@ LFD(Lchar_ge)() { Lchar_cmp(-1, 0); }
++ 
++ 
++ bool
++-char_equal(x, y)
++-object x, y;
++-{
+++char_equal(object x,object y) {
+++
++      int i, j;
++ 
++      i = char_code(x);
++@@ -273,9 +268,8 @@ object x, y;
++ 
++ 
++ static int
++-char_compare(x, y)
++-object x, y;
++-{
+++char_compare(object x,object y) {
+++
++      int i, j;
++ 
++      i = char_code(x);
++@@ -293,9 +287,8 @@ object x, y;
++ }
++ 
++ static void
++-Lchar_compare(s, t)
++-int s, t;
++-{
+++Lchar_compare(int s,int t) {
+++
++      int narg, i;
++ 
++      narg = vs_top - vs_base;
++@@ -320,9 +313,8 @@ LFD(Lchar_not_lessp)()    { Lchar_compar
++ 
++ 
++ object
++-coerce_to_character(x)
++-object x;
++-{
+++coerce_to_character(object x) {
+++
++ BEGIN:
++      switch (type_of(x)) {
++      case t_fixnum:
++@@ -408,9 +400,8 @@ BEGIN:
++ @)
++ 
++ int
++-digit_weight(w, r)
++-int w, r;
++-{
+++digit_weight(int w,int r) {
+++
++      if (r < 2 || r > 36 || w < 0 || w >= r)
++              return(-1);
++      if (w < 10)
++--- gcl27-2.7.1.orig/o/cmac.c
+++++ gcl27-2.7.1/o/cmac.c
++@@ -55,9 +55,9 @@ dblrem(int a, int b, int mod)
++ #else
++ 
++ static int
++-dblrem(a,b,mod)
++-int a,b,mod;
++-{int h,sign;
+++dblrem(int a,int b,int mod) {
+++
+++ int h,sign;
++  if (a<0) 
++    {a= -a; sign= (b<0)? (b= -b,1) :-1;}
++  else { sign= (b<0) ? (b= -b,-1) : 1;}
++--- gcl27-2.7.1.orig/o/eval.c
+++++ gcl27-2.7.1/o/eval.c
++@@ -66,15 +66,6 @@ object sSAbreak_stepA;
++   ({enum ftype _t=type;\
++      _t==f_object ? a : (_t==f_fixnum ? make_fixnum((fixnum)a) : make_integer((GEN)a));})
++ 
++-#include "apply_n.h"
++-
++-static object
++-quick_call_function_vec(object fun,ufixnum n,object *b) {
++-
++-  return c_apply_n_fun(fun,n,b);
++-
++-}
++-
++ static object
++ quick_call_function_vec_coerce(object fun,ufixnum n,object *b) {
++ 
++@@ -704,7 +695,7 @@ APPLICATION:
++              ihs_check;
++              ihs_push(form);
++              ihs_top->ihs_base = lex_env;
++-             ((void (*)())fun->s.s_sfdef)(MMcdr(form));
+++             ((void (*)(object))fun->s.s_sfdef)(MMcdr(form));
++              CHECK_AVMA;
++              ihs_pop();
++              return;
++--- gcl27-2.7.1.orig/o/fasdump.c
+++++ gcl27-2.7.1/o/fasdump.c
++@@ -29,7 +29,7 @@ static void
++ clrhash(object);
++ 
++ 
++-object coerce_stream();
+++object coerce_stream(object,int);
++ static object fasd_patch_sharp(object x, int depth);
++ object make_pathname ();
++ 
++--- gcl27-2.7.1.orig/o/file.d
+++++ gcl27-2.7.1/o/file.d
++@@ -106,9 +106,7 @@ object LSP_string;
++ object sSAignore_eof_on_terminal_ioA;
++ 
++ static bool
++-feof1(fp)
++-FILE *fp;
++-{
+++feof1(FILE *fp) {
++ 
++ #ifdef USE_READLINE
++   if (readline_on && fp==rl_instream && rl_line_buffer && *rl_line_buffer==EOF)
++@@ -199,9 +197,8 @@ DEFUN("TERMINAL-INPUT-STREAM-P",object,f
++      but only checks the mode of the stream (sm_mode).
++ */
++ static bool
++-input_stream_p(strm)
++-object strm;
++-{
+++input_stream_p(object strm) {
+++
++ BEGIN:
++      switch (strm->sm.sm_mode) {
++      case smm_input:
++@@ -256,9 +253,8 @@ BEGIN:
++      but only checks the mode of the stream (sm_mode).
++ */
++ static bool
++-output_stream_p(strm)
++-object strm;
++-{
+++output_stream_p(object strm) {
+++
++ BEGIN:
++      switch (strm->sm.sm_mode) {
++      case smm_input:
++@@ -306,9 +302,8 @@ BEGIN:
++ }
++ 
++ static object
++-stream_element_type(strm)
++-object strm;
++-{
+++stream_element_type(object strm) {
+++
++      object x;
++ 
++ BEGIN:
++@@ -656,9 +651,8 @@ fLinteractive_stream_p(object x) {
++ #endif
++ 
++ object
++-make_two_way_stream(istrm, ostrm)
++-object istrm, ostrm;
++-{
+++make_two_way_stream(object istrm,object ostrm) {
+++
++      object strm;
++ 
++      strm = alloc_object(t_stream);
++@@ -673,9 +667,8 @@ object istrm, ostrm;
++ }
++ 
++ static object
++-make_echo_stream(istrm, ostrm)
++-object istrm, ostrm;
++-{
+++make_echo_stream(object istrm,object ostrm) {
+++
++      object strm;
++ 
++      strm = make_two_way_stream(istrm, ostrm);
++@@ -764,9 +757,8 @@ DEFUN("STRING-OUTPUT-STREAM-P",object,fS
++ }
++ 
++ object
++-make_string_output_stream(line_length)
++-int line_length;
++-{
+++make_string_output_stream(int line_length) {
+++
++      object strng, strm;
++      vs_mark;
++ 
++@@ -786,9 +778,8 @@ int line_length;
++ }
++ 
++ static object
++-get_output_stream_string(strm)
++-object strm;
++-{
+++get_output_stream_string(object strm) {
+++
++      object strng;
++ 
++      strng = copy_simple_string(STRING_STREAM_STRING(strm));
++@@ -803,9 +794,8 @@ cannot_read(object);
++ static void
++ closed_stream(object);
++ \fint
++-readc_stream(strm)
++-object strm;
++-{
+++readc_stream(object strm) {
+++
++      int c;
++ 
++ BEGIN:
++@@ -1515,9 +1505,8 @@ BEGIN:
++ }
++ 
++ int
++-file_position(strm)
++-object strm;
++-{
+++file_position(object strm) {
+++
++ BEGIN:
++      switch (strm->sm.sm_mode) {
++      case smm_input:
++@@ -1564,10 +1553,8 @@ BEGIN:
++ }
++ 
++ int
++-file_position_set(strm, disp)
++-object strm;
++-int disp;
++-{
+++file_position_set(object strm,int disp) {
+++
++ BEGIN:
++      switch (strm->sm.sm_mode) {
++      case smm_socket:
++@@ -1615,9 +1602,8 @@ BEGIN:
++ }
++ 
++ static int
++-file_length(strm)
++-object strm;
++-{
+++file_length(object strm) {
+++
++  BEGIN:
++      switch (strm->sm.sm_mode) {
++      case smm_input:
++@@ -2243,30 +2229,22 @@ LFD(siLcopy_stream)()
++ }
++ 
++ static void
++-cannot_open(fn)
++-object fn;
++-{
+++cannot_open(object fn) {
++      FILE_ERROR(fn,"Cannot open");
++ }
++ 
++ static void
++-cannot_create(fn)
++-object fn;
++-{
+++cannot_create(object fn) {
++      FILE_ERROR(fn,"Cannot create");
++ }
++ 
++ static void
++-cannot_read(strm)
++-object strm;
++-{
+++cannot_read(object strm) {
++      FEerror("Cannot read the stream ~S.", 1, strm);
++ }
++ 
++ static void
++-cannot_write(strm)
++-object strm;
++-{
+++cannot_write(object strm) {
++      FEerror("Cannot write to the stream ~S.", 1, strm);
++ }
++ 
++@@ -2285,9 +2263,8 @@ FFN(siLuser_stream_state)()
++ #endif
++ 
++ static void
++-closed_stream(strm)
++-object strm;
++-{
+++closed_stream(object strm) {
+++
++   if (!GET_STREAM_FLAG(strm,gcl_sm_had_error))
++     {
++         SET_STREAM_FLAG(strm,gcl_sm_had_error,1);
++@@ -2308,10 +2285,8 @@ object strm;
++    */
++ 
++ object
++-coerce_stream(strm,out)
++-object strm;
++-int out;
++-{
+++coerce_stream(object strm,int out) {
+++
++  BEGIN:
++  if (type_of(strm) != t_stream)
++    FEwrong_type_argument(sLstream, strm);
++@@ -2416,10 +2391,8 @@ DEFUN("FREAD",object,fSfread,SI,4,4,NONE
++   of the buffer may be changed.
++  */
++ static void
++-putCharGclSocket(strm,ch)
++-  object strm;
++-  int ch;
++-{
+++putCharGclSocket(object strm,int ch) {
+++
++   object bufp = SOCKET_STREAM_BUFFER(strm);
++ 
++  AGAIN:
++@@ -2435,10 +2408,8 @@ putCharGclSocket(strm,ch)
++ }
++ 
++ static void
++-gclFlushSocket(strm)
++-     object strm;
+++gclFlushSocket(object strm) {
++ 
++-{
++     int fd = SOCKET_STREAM_FD(strm);
++     object bufp = SOCKET_STREAM_BUFFER(strm);
++     int i=0;
++@@ -2470,14 +2441,8 @@ gclFlushSocket(strm)
++ 
++ static
++ object
++-make_socket_stream(fd,mode,server,host,port,async)
++-int fd;
++-enum gcl_sm_flags mode;
++-object server;
++-object host;
++-object port;
++-object async;
++-{
+++make_socket_stream(int fd,enum gcl_sm_flags mode,object server,object host,object port,object async) {
+++
++   object x;
++   if (fd < 0 )
++    {
++--- gcl27-2.7.1.orig/o/format.c
+++++ gcl27-2.7.1/o/format.c
++@@ -52,7 +52,7 @@ static void
++ fmt_semicolon(bool,bool);
++ 
++ static void
++-fmt_up_and_out(bool,bool);
+++fmt_up_and_out(int,bool);
++ 
++ static void
++ fmt_justification(volatile bool,bool);
++@@ -347,7 +347,8 @@ format(object fmt_stream0, int ctl_origi
++ {
++      int c, n;
++      fixnum i,j,sn;
++-     bool colon, atsign;
+++     int colon;
+++     bool atsign;
++      object x;
++      fmt_paramp = fmt_param;
++ 
++@@ -2640,7 +2641,7 @@ fmt_justification(volatile bool colon, b
++ 
++ 
++ static void
++-fmt_up_and_out(bool colon, bool atsign)
+++fmt_up_and_out(int colon, bool atsign)
++ {
++   fixnum j,n;
++   object x[3];
++@@ -2720,7 +2721,8 @@ DEFUN("FORMAT",object,fLformat,LISP,2,F_
++   va_list ap; 
++   VOL object x = OBJNULL;
++   jmp_buf fmt_jmp_buf0;
++-  bool colon, e;
+++  int colon;
+++  bool e;
++   VOL fixnum nargs=INIT_NARGS(2);
++   
++   fmt_old;
++--- gcl27-2.7.1.orig/o/funlink.c
+++++ gcl27-2.7.1/o/funlink.c
++@@ -225,8 +225,6 @@ clean_link_array(object *ar, object *ar_
++   return(i*sizeof(object *));
++ }
++ 
++-#include "apply_n.h"    
++-
++ DEFVAR("*FAST-LINK-WARNINGS*",sSAfast_link_warningsA,SI,Cnil,"");
++ 
++ #include "pbits.h"
++@@ -242,15 +240,14 @@ typedef union {
++   fw f;
++ } fu;
++ 
+++
++ object
++-call_proc_new(object sym,ufixnum clp,ufixnum vld,void **link,ufixnum argd,object first,va_list ll) {
+++call_proc_new23(object sym,ufixnum clp,ufixnum vld,void **link,ufixnum argd,object *x) {
++ 
++   object fun;
++   enum type tp;
++   ufixnum margs,nargs,fas,do_link,varg,pushed=0,nfargs;
++   fixnum vald;
++-  object *tmp,*x/* ,*p */;
++-  int i;
++   fu u;
++ 
++   if (type_of(sym)==t_symbol) {
++@@ -262,7 +259,7 @@ call_proc_new(object sym,ufixnum clp,ufi
++   tp=type_of(fun);
++ 
++   u.i=vld;
++-  
+++
++   /* p=0; */
++   if (u.f.pu) {
++     u.f.ma=vs_top-vs_base;
++@@ -270,22 +267,12 @@ call_proc_new(object sym,ufixnum clp,ufi
++     /* p=vs_base; */
++     pushed=1;
++   }
++-  
+++
++   margs=u.f.ma;
++   varg=u.f.va;
++   nargs=u.f.va ? abs(VFUN_NARGS) : margs;
++   nfargs=u.f.va && VFUN_NARGS<0 ? nargs-1 : nargs;
++   vald=!u.f.vv ? -(fixnum)u.f.nv : u.f.nv;
++-  
++-  x=tmp=(u.f.pu && !fun->fun.fun_argd && VFUN_NARGS>=fun->fun.fun_minarg) ? 
++-    vs_base : ZALLOCA(nargs*sizeof(object));
++-  
++-  if (tmp!=vs_base) {
++-    if (u.f.pu) 
++-      memcpy(tmp,vs_base,nargs*sizeof(*tmp));
++-    else for (i=0;i<nargs;i++)
++-        *x++=(i || u.f.nf) ? va_arg(ll,object) : first;
++-  }
++ 
++   /*FIXME: Problem here relying on VFUN_NARGS or fcall.fun or FUN_VALP might foil sharing these links in different contexts*/
++   /*links currently shared by rt at clp apnarg, so VFUN_NARGS<0 is safe*/
++@@ -341,7 +328,7 @@ call_proc_new(object sym,ufixnum clp,ufi
++   }
++ 
++   if (sSAprofilingA->s.s_dbind!=Cnil)
++-    sSin_call->s.s_gfdef->fun.fun_self(sym);
+++    ((object (*)(object))sSin_call->s.s_gfdef->fun.fun_self)(sym);
++ 
++   if (fas) {
++ 
++@@ -352,12 +339,12 @@ call_proc_new(object sym,ufixnum clp,ufi
++     }
++ 
++     if (sSAprofilingA->s.s_dbind!=Cnil)
++-      sSout_call->s.s_gfdef->fun.fun_self(fSgettimeofday());
++-    
++-    return(c_apply_n_fun(fun,x-tmp,tmp));
+++      ((object (*)(object))sSout_call->s.s_gfdef->fun.fun_self)(fSgettimeofday());
+++
+++    return(quick_call_function_vec(fun,nargs,x));
++ 
++   } else {
++-    
+++
++     object res;
++     register object *base,*old_top;
++     enum ftype result_type;
++@@ -370,17 +357,17 @@ call_proc_new(object sym,ufixnum clp,ufi
++     if (vald || u.f.vv) larg=(fixnum)fcall.valp;
++ 
++     if (!pushed) {
++-      
+++
++       object y;
++-      
+++
++       vs_base=vs_top; /*???*/
++ 
++       for (i=0;i<nargs;i++) {
++-     
+++
++      enum ftype typ;
++ 
++-     y=tmp[i];
++-     
+++     y=x[i];
+++
++      switch((typ=POP_BITS(argd,2))) {
++      case f_fixnum:
++        y=make_fixnum((fixnum)y);
++@@ -388,15 +375,15 @@ call_proc_new(object sym,ufixnum clp,ufi
++      default:
++        break;
++      }
++-     
+++
++      vs_push(y);
++-     
+++
++       }
++ 
++       if (u.f.va && VFUN_NARGS<0)
++      for (y=*--vs_top;y!=Cnil;y=y->c.c_cdr)
++        vs_push(y->c.c_car);
++-      
+++
++       vs_check;
++ 
++     }
++@@ -404,7 +391,7 @@ call_proc_new(object sym,ufixnum clp,ufi
++     base=vs_base;
++     old_top=vs_top;
++     funcall(fun);
++-    
+++
++     res=vs_base[0];
++     if (larg) {
++       object *tmp=vs_base+1,*tl=(void *)larg,*tle=tl+labs(vald);/*FIXME avoid if pushed*/
++@@ -418,7 +405,7 @@ call_proc_new(object sym,ufixnum clp,ufi
++       vs_top=base;
++ 
++     for (;--old_top>=vs_top && vs_top>=vs_org;) *old_top=Cnil;
++-    
+++
++     switch(result_type) {
++     case f_fixnum:
++       res=(object)fix(res);
++@@ -426,49 +413,29 @@ call_proc_new(object sym,ufixnum clp,ufi
++     default:
++       break;
++     }
++-    
+++
++     if (sSAprofilingA->s.s_dbind!=Cnil)
++-      sSout_call->s.s_gfdef->fun.fun_self(fSgettimeofday());
+++      ((object (*)(object))sSout_call->s.s_gfdef->fun.fun_self)(fSgettimeofday());
++ 
++     return res;
++-    
+++
++   }
++ 
++ }
++-object
++-call_proc_new_nval(object sym,ufixnum clp,ufixnum vld,void **link,ufixnum argd,object first,...) {
++-  object x;
++-  va_list b;
++-  va_start(b,first);
++-  x=call_proc_new(sym,clp,vld,link,argd,first,b);
++-  va_end(b);
++-  return x;
++-}
++-
++-object
++-call_proc_cs1(object fun,...) {
++-  register object res;
++-  ufixnum vald;
++-  va_list ap;
++-  va_start(ap,fun);
++-  vald=((31<<12)|(1<<17)|(1<<18)|(1<<20));
++-  res=call_proc_new(fun,1,vald,0,0,0,ap);
++-  va_end(ap);
++-  return res;
++-}
++-
++ 
++ object
++ call_proc_cs2(object first,...) {
++-  register object res;
++-  ufixnum vald;
+++
+++  int i,nargs=abs(VFUN_NARGS);
+++  object *x=alloca(nargs*sizeof(*x));
++   va_list ap;
++-  object fun=fcall.fun;
+++
++   va_start(ap,first);
++-  vald=((31<<12)|(1<<17)|(1<<18));
++-  res=call_proc_new(fun,1,vald,0,0,first,ap);
+++  for (i=0;i<nargs;i++) x[i]=i ? va_arg(ap,object) : first;
++   va_end(ap);
++-  return res;
+++
+++  return call_proc_new23(fcall.fun,1,((31<<12)|(1<<17)|(1<<18)),0,0,x);
+++
++ }
++ 
++ 
++--- gcl27-2.7.1.orig/o/gmp_big.c
+++++ gcl27-2.7.1/o/gmp_big.c
++@@ -526,16 +526,16 @@ integer_quotient_remainder_1(object x, o
++ 
++     if (qp) {
++       if (rp) {
++-     void (*f)()=d<0 ? mpz_fdiv_qr : (d>0 ? mpz_cdiv_qr : mpz_tdiv_qr);
+++     void (*f)(__mpz_struct *,__mpz_struct *,__mpz_struct *,__mpz_struct *)=d<0 ? mpz_fdiv_qr : (d>0 ? mpz_cdiv_qr : mpz_tdiv_qr);
++      f(MP(big_fixnum3),MP(big_fixnum4),b1,b2);
++      *rp=maybe_replace_big(big_fixnum4);
++       } else {
++-     void (*f)()=d<0 ? mpz_fdiv_q : (d>0 ? mpz_cdiv_q : mpz_tdiv_q);
+++     void (*f)(__mpz_struct *,__mpz_struct *,__mpz_struct *)=d<0 ? mpz_fdiv_q : (d>0 ? mpz_cdiv_q : mpz_tdiv_q);
++      f(MP(big_fixnum3),b1,b2);
++       }
++       *qp=maybe_replace_big(big_fixnum3);
++     } else if (rp) {
++-      void (*f)()=d<0 ? mpz_fdiv_r : (d>0 ? mpz_cdiv_r : mpz_tdiv_r);
+++      void (*f)(__mpz_struct *,__mpz_struct *,__mpz_struct *)=d<0 ? mpz_fdiv_r : (d>0 ? mpz_cdiv_r : mpz_tdiv_r);
++       f(MP(big_fixnum4),b1,b2);
++       *rp=maybe_replace_big(big_fixnum4);
++     }
++--- gcl27-2.7.1.orig/o/list.d
+++++ gcl27-2.7.1/o/list.d
++@@ -32,9 +32,8 @@ Foundation, 675 Mass Ave, Cambridge, MA
++ 
++ 
++ object
++-car(x)
++-object x;
++-{
+++car(object x) {
+++
++      if (x == Cnil)
++              return(x);
++      if (consp(x))
++@@ -44,9 +43,8 @@ object x;
++ }
++ 
++ object
++-cdr(x)
++-object x;
++-{
+++cdr(object x) {
+++
++      if (x == Cnil)
++              return(x);
++      if (consp(x))
++@@ -192,9 +190,8 @@ append(object x, object y) {
++ }
++ 
++ object
++-copy_list(x)
++-object x;
++-{
+++copy_list(object x) {
+++
++      object y;
++ 
++      if (!consp(x))
++@@ -277,10 +274,10 @@ stack_list(void) {
++ 
++ }
++  
++-object on_stack_make_list(n)
++-int n;
++-{ object res=(object) alloca_val;
++- struct cons *p = (struct cons *)res;
+++object on_stack_make_list(int n) {
+++
+++  object res=(object) alloca_val;
+++  struct cons *p = (struct cons *)res;
++  if (n<=0) return Cnil;
++   TOP:
++ #ifdef WIDE_CONS
++@@ -315,9 +312,8 @@ DEFUN("RPLACD",object,fLrplacd,LISP,2,2,
++ 
++  
++ void
++-check_proper_list(alist)
++-object alist;
++-{
+++check_proper_list(object alist) {
+++
++     object v;
++     /*
++     if (alist == Cnil)
++@@ -336,9 +332,7 @@ DEFUN("PROPER-LISTP",object,fSproper_lis
++ 
++ 
++ bool
++-member_eq(x, l)
++-object x, l;
++-{
+++member_eq(object x,object l) {
++ 
++      for (;  consp(l);  l = l->c.c_cdr)
++              if (x == l->c.c_car)
++@@ -347,9 +341,8 @@ object x, l;
++ }
++ 
++ void
++-delete_eq(x, lp)
++-object x, *lp;
++-{
+++delete_eq(object x,object *lp) {
+++
++      for (;  consp(*lp);  lp = &(*lp)->c.c_cdr)
++              if ((*lp)->c.c_car == x) {
++                      *lp = (*lp)->c.c_cdr;
++--- gcl27-2.7.1.orig/o/main.c
+++++ gcl27-2.7.1/o/main.c
++@@ -76,7 +76,7 @@ char stderr_buf[BUFSIZ + EXTRA_BUFSIZE];
++ #include "stacks.h"
++ 
++ int debug;                   /* debug switch */
++-int raw_image = TRUE;                /* raw or saved image -- CYGWIN will only place this in .data and not in .bss if initialized to non-zero */
+++bool raw_image = TRUE;               /* raw or saved image -- CYGWIN will only place this in .data and not in .bss if initialized to non-zero */
++ bool GBC_enable=FALSE;
++ 
++ long real_maxpage;
++@@ -1434,7 +1434,7 @@ my_fprintf(void *v,const char *f,...) {
++ 
++ #ifdef HAVE_FPRINTF_STYLED_FTYPE
++ static int
++-my_fprintf_styled(void *v,enum disassembler_style,const char *f,...) {
+++my_fprintf_styled(void *v,enum disassembler_style s,const char *f,...) {
++   va_list va;
++   int r;
++   va_start(va,f);
++@@ -1463,25 +1463,24 @@ DEFUN("DISASSEMBLE-INSTRUCTION",object,f
++ #if defined(HAVE_DIS_ASM_H) && defined(OUTPUT_ARCH)
++ 
++   static disassemble_info i;
++-  void *v;
++-  void * (*s)();
+++  void *v,*s;
++   fixnum j,j1,k;
++   object x;
++ 
++   if ((v=dlopen("libopcodes.so",RTLD_NOW))) {
++     if ((s=dlsym(v,"init_disassemble_info"))) {
++-      s(&i, stdout,(fprintf_ftype)my_fprintf
++ #ifdef HAVE_FPRINTF_STYLED_FTYPE
++-     ,my_fprintf_styled
+++     ((void * (*)(disassemble_info *,FILE *,fprintf_ftype,fprintf_styled_ftype))s)(&i,stdout,my_fprintf,my_fprintf_styled);
+++#else
+++     ((void * (*)(disassemble_info *,FILE *,fprintf_ftype))s)(&i,stdout,my_fprintf);
++ #endif
++-     );
++       i.read_memory_func=my_read;
++       i.print_address_func=my_pa;
++ #if defined(OUTPUT_MACH)
++       i.mach=OUTPUT_MACH;
++ #endif
++       if ((s=dlsym(v,"disassembler"))) {
++-     disassembler_ftype disasm=(disassembler_ftype)(ufixnum)s(OUTPUT_ARCH,0,0,NULL);
+++     disassembler_ftype disasm=((disassembler_ftype (*)(int,int,int,void *))s)(OUTPUT_ARCH,0,0,NULL);
++      bp=b;
++      disasm(addr,&i);
++      my_fprintf(NULL," ;");
++--- gcl27-2.7.1.orig/o/package.d
+++++ gcl27-2.7.1/o/package.d
++@@ -39,9 +39,8 @@ void check_type_or_symbol_string_package
++ 
++ 
++ static bool
++-member_string_eq(x, l)
++-object x, l;
++-{
+++member_string_eq(object x,object l) {
+++
++      for (;  consp(l);  l = l->c.c_cdr)
++              if (string_eq(x, l->c.c_car))
++                      return(TRUE);
++@@ -126,10 +125,7 @@ suitable_package_size(ufixnum n)
++      or package names i.e. strings or symbols.
++ */
++ static object
++-make_package(n, ns, ul,isize,esize)
++-object n, ns, ul;
++-int isize,esize;
++-{
+++make_package(object n,object ns,object ul,int isize,int esize) {
++ 
++      object x, y;
++      int i;
++@@ -199,10 +195,7 @@ static void
++ use_package(object,object);
++ 
++ static object
++-in_package(n, ns, ul,isize,esize)
++-object n, ns, ul;
++-int isize,esize;
++-{
+++in_package(object n,object ns,object ul,int isize,int esize) {
++ 
++      object x, y;
++      vs_mark;
++@@ -237,9 +230,7 @@ L:
++ }
++ 
++ static object
++-rename_package(x, n, ns)
++-object x, n, ns;
++-{
+++rename_package(object x,object n,object ns) {
++ 
++      object y;
++      vs_mark;
++@@ -278,9 +269,8 @@ object x, n, ns;
++      If not so, an error is signaled.
++ */
++ object
++-find_package(n)
++-object n;
++-{
+++find_package(object n) {
+++
++      struct package *p;
++ 
++      check_package_designator(n);
++@@ -291,9 +281,8 @@ object n;
++ }
++ 
++ static object
++-coerce_to_package(p)
++-object p;
++-{
+++coerce_to_package(object p) {
+++
++      object pp;
++ 
++      if (type_of(p) == t_package)
++@@ -327,9 +316,9 @@ current_package()
++ */
++ 
++ int
++-pack_hash(x)
++-object x;
++-{unsigned int h=0;
+++pack_hash(object x) {
+++
+++  unsigned int h=0;
++   x=coerce_to_string(x);
++   {int len=VLEN(x);
++   char *s;
++@@ -393,9 +382,8 @@ DEFUN("PACKAGE-EXTERNAL_SIZE",object,fSp
++      Intern(st, p) interns string st in package p.
++ */
++ object
++-intern(st, p)
++-object st, p;
++-{
+++intern(object st,object p) {
+++
++      int j;
++      object x, *ip, *ep, l, ul;
++      vs_mark;
++@@ -450,9 +438,8 @@ object st, p;
++      Find_symbol(st, p) searches for string st in package p.
++ */
++ object
++-find_symbol(st, p)
++-object st, p;
++-{
+++find_symbol(object st,object p) {
+++
++      int j;
++      object *ip, *ep, l, ul;
++      {BEGIN_NO_INTERRUPT;
++@@ -483,9 +470,8 @@ object st, p;
++ }}
++ 
++ static bool
++-unintern(s, p)
++-object s, p;
++-{
+++unintern(object s,object p) {
+++
++      object x, y, l, *lp;
++      int j;
++      {BEGIN_NO_INTERRUPT;
++@@ -533,9 +519,8 @@ UNINTERN:
++ }}
++ 
++ void
++-export(s, p)
++-object s, p;
++-{
+++export(object s,object p) {
+++
++      object x;
++      int j;
++      object *ep, *ip, l;
++@@ -578,9 +563,8 @@ BEGIN:
++ }
++ 
++ static void
++-unexport(s, p)
++-object s, p;
++-{
+++unexport(object s,object p) {
+++
++      object x, *ep, *ip;
++      int j;
++ 
++@@ -609,9 +593,8 @@ object s, p;
++ }
++ 
++ void
++-import(s, p)
++-object s, p;
++-{
+++import(object s,object p) {
+++
++      object x;
++      int j;
++      object *ip;
++@@ -635,9 +618,8 @@ object s, p;
++ }
++ 
++ static void
++-shadowing_import(s, p)
++-object s, p;
++-{
+++shadowing_import(object s,object p) {
+++
++      object x, *ip;
++ 
++      x=find_symbol(s, p);
++@@ -668,9 +650,8 @@ object s, p;
++ }
++ 
++ static void
++-shadow(s, p)
++-object s, p;
++-{
+++shadow(object s,object p) {
+++
++      int j;
++      object *ip,x;
++ 
++@@ -692,9 +673,8 @@ object s, p;
++ }
++ 
++ static void
++-use_package(x0, p)
++-object x0, p;
++-{
+++use_package(object x0,object p) {
+++
++      object x = x0;
++      int i;
++      object y, l;
++@@ -735,9 +715,8 @@ object x0, p;
++ }
++ 
++ static void
++-unuse_package(x0, p)
++-object x0, p;
++-{
+++unuse_package(object x0,object p) {
+++
++      object x = x0;
++ 
++  BEGIN:
++--- /dev/null
+++++ gcl27-2.7.1/o/pre_qfv.c
++@@ -0,0 +1,98 @@
+++#include "include.h"
+++#include "arth.h"
+++
+++#define EMPTY()
+++#define DEFER(id) id EMPTY()
+++
+++#define EVAL(...)     EVAL64(__VA_ARGS__)
+++#define EVAL64(...)   EVAL32(EVAL32(__VA_ARGS__))
+++#define EVAL32(...)   EVAL16(EVAL16(__VA_ARGS__))
+++#define EVAL16(...)   EVAL8(EVAL8(__VA_ARGS__))
+++#define EVAL8(...)    EVAL4(EVAL4(__VA_ARGS__))
+++#define EVAL4(...)    EVAL2(EVAL2(__VA_ARGS__))
+++#define EVAL2(...)    EVAL1(EVAL1(__VA_ARGS__))
+++#define EVAL1(...)    __VA_ARGS__
+++
+++#define minus(a,b) M_ ## a ## _ ## b
+++#define MINUS(a,b) minus(a,b)
+++#define DEC(n) MINUS(n,1)
+++
+++#define SECOND(a, b, ...) b
+++#define IS_ONE_PROXY(...) SECOND(__VA_ARGS__)
+++#define IS_ONE_1 ~, 1
+++#define IS_ONE_CHECK(n) IS_ONE_PROXY(Mjoin(IS_ONE_, n), 0)
+++
+++#define GCNT_0(P,n,m) , DEFER(GCNT_ID)()(P,n,m)
+++#define GCNT_1(P,n,m) 
+++#define GCNT_ID() GCNT
+++
+++#define GCNT(P,n,m) P(n,m) Mjoin(GCNT_,IS_ONE_CHECK(n))(P,DEC(n),m)
+++#define PPP1(n,m) object
+++#define PPP2(n,m) x[MINUS(m,n)]
+++#define CSTCL(m,n) case n*(MAX_ARGS+1)+m: return ((object (*)(GCNT(PPP1,m,m),...))f)(GCNT(PPP2,n,n));
+++
+++#define OGCNT_0(P,n,m) DEFER(OGCNT_ID)()(P,n,m)
+++#define OGCNT_1(P,n,m) 
+++#define OGCNT_ID() OGCNT
+++
+++#define OGCNT(P,n,m) P(n,m) Mjoin(OGCNT_,IS_ONE_CHECK(n))(P,DEC(n),m)
+++#define OWLK(m,n) OGCNT(CSTCL,m,m)
+++
+++#define PGCNT_0(P,n,m) DEFER(PGCNT_ID)()(P,n,m)
+++#define PGCNT_1(P,n,m) 
+++#define PGCNT_ID() PGCNT
+++
+++#define PGCNT(P,n,m) P(n,m) Mjoin(PGCNT_,IS_ONE_CHECK(n))(P,DEC(n),m)
+++#define IPGCNT(P,n) PGCNT(P,n,n)
+++
+++ufixnum maxargs_for_awk=MAX_ARGS;
+++
+++static inline object
+++vc_apply_n(void *f, int n, object *x) {
+++
+++
+++  switch (n) {
+++
+++    case 0*(MAX_ARGS+1)+1: return ((object (*)(object ,...))f)(OBJNULL);
+++
+++    /*    EVAL(IPGCNT(OWLK,MAX_ARGS)) Too much memory on 32bit systems*/
+++    awk_generated_vc_apply_n_lines;
+++
+++    default: FEerror("vc bar ~s",1,make_fixnum(n));
+++
+++  }
+++
+++}
+++
+++#define RCSTCL(m,n) case m: return ((object (*)(GCNT(PPP1,m,m)))f)(GCNT(PPP2,m,m));
+++#define PWLK(m,n) RCSTCL(m,m)
+++
+++static inline object
+++rc_apply_n(void *f, int n, object *x) {
+++
+++  switch (n) {
+++
+++    /* EVAL(IPGCNT(PWLK,MAX_ARGS)) Too much memory on 32bit systems*/
+++    awk_generated_rc_apply_n_lines;
+++
+++    default: FEerror("rc bar ~s",1,make_fixnum(n));
+++
+++  }
+++
+++}
+++
+++static inline object
+++c_apply_n_fun(object fun,int n,object *b) {
+++
+++  return fun->fun.fun_minarg<fun->fun.fun_maxarg ?
+++    vc_apply_n(fun->fun.fun_self,n*(MAX_ARGS+1)+(fun->fun.fun_minarg ? fun->fun.fun_minarg : 1),b) :
+++    rc_apply_n(fun->fun.fun_self,n,b);
+++
+++}
+++
+++object
+++quick_call_function_vec(object fun,ufixnum n,object *b) {
+++
+++  return c_apply_n_fun(fun,n,b);
+++
+++}
++--- gcl27-2.7.1.orig/o/print.d
+++++ gcl27-2.7.1/o/print.d
++@@ -156,9 +156,8 @@ static void
++ write_decimal1(int);
++ 
++ static void
++-write_decimal(i)
++-int i;
++-{
+++write_decimal(int i) {
+++
++      if (i == 0) {
++              write_ch('0');
++              return;
++@@ -623,17 +622,15 @@ writec_queue(int c,void *v) {
++ 
++ 
++ void
++-write_str(s)
++-char *s;
++-{
+++write_str(char *s) {
+++
++      while (*s != '\0')
++              write_ch(*s++);
++ }
++ 
++ static void
++-write_decimal1(i)
++-int i;
++-{
+++write_decimal1(int i) {
+++
++      if (i == 0)
++              return;
++      write_decimal1(i/10);
++@@ -641,9 +638,8 @@ int i;
++ }
++ 
++ static void
++-write_addr(x)
++-object x;
++-{
+++write_addr(object x) {
+++
++      long i;
++      int j, k;
++ 
++@@ -799,11 +795,8 @@ write_unreadable_str(object x,char *str)
++ }
++ 
++ static void
++-write_double(d, e, shortp)
++-double d;
++-int e;
++-bool shortp;
++-{
+++write_double(double d,int e,bool shortp) {
+++
++      int sign;
++      char buff[FPRC+5];
++      int exp;
++@@ -1847,10 +1840,8 @@ travel_find_sharing(object x,object tabl
++ }
++ 
++ static bool
++-potential_number_p(strng, base)
++-object strng;
++-int base;
++-{
+++potential_number_p(object strng,int base) {
+++
++      int i, l, c, dc;
++      char *s;
++ 
++--- gcl27-2.7.1.orig/o/read.d
+++++ gcl27-2.7.1/o/read.d
++@@ -261,9 +261,8 @@ setup_READ()
++ }
++ 
++ object
++-read_char(in)
++-object in;
++-{
+++read_char(object in) {
+++
++      return(code_char(readc_stream(in)));
++ }
++ 
++@@ -286,9 +285,8 @@ read_char_no_echo(object in) {
++ #define      read_char(in)   code_char(readc_stream(in))
++ 
++ static void
++-unread_char(c, in)
++-object c, in;
++-{
+++unread_char(object c,object in) {
+++
++      if (type_of(c) != t_character)
++              FEwrong_type_argument(sLcharacter, c);
++      unreadc_stream(char_code(c), in);
++@@ -299,10 +297,8 @@ object c, in;
++      When pt is TRUE, preceeding whitespaces are ignored.
++ */
++ object
++-peek_char(pt, in)
++-bool pt;
++-object in;
++-{
+++peek_char(bool pt,object in) {
+++
++      object c;
++ 
++      if (pt) {
++@@ -320,9 +316,8 @@ object in;
++              
++ 
++ static object
++-read_object_recursive(in)
++-object in;
++-{
+++read_object_recursive(object in) {
+++
++      VOL object x;
++      bool e;
++ 
++@@ -388,9 +383,8 @@ L:
++ 
++ 
++ object
++-read_object_non_recursive(in)
++-object in;
++-{
+++read_object_non_recursive(object in) {
+++
++      VOL object x;
++      bool e;
++      object old_READtable;
++@@ -509,9 +503,8 @@ L:
++ */
++ 
++ object
++-read_object(in)
++-object in;
++-{
+++read_object(object in) {
+++
++      object x;
++      object c=Cnil;
++      enum chattrib a;
++@@ -801,10 +794,8 @@ ENDUP:
++      Delim is not included in the string but discarded.
++ */
++ static void
++-read_string(delim, in)
++-int delim;
++-object in;
++-{
+++read_string(int delim,object in) {
+++
++      int i;
++      object c;
++ 
++@@ -828,9 +819,8 @@ object in;
++      and places it in token_buffer.
++ */
++ static void
++-read_constituent(in)
++-object in;
++-{
+++read_constituent(object in) {
+++
++      int i, j;
++      object c;
++ 
++@@ -2159,9 +2149,8 @@ DEFUNM("PARSE-INTEGER-INT",object,fSpars
++ /* } */
++ 
++ object
++-read_char1(strm,eof)
++-object strm,eof;
++-{
+++read_char1(object strm,object eof) {
+++
++   if (strm == Cnil)
++     strm = symbol_value(sLAstandard_inputA);
++   else if (strm == Ct)
++@@ -2340,9 +2329,8 @@ DEFUN("SET-READTABLE-CASE",object,fSset_
++ @)
++ 
++ static object
++-string_to_object(x)
++-object x;
++-{
+++string_to_object(object x) {
+++
++      object in;
++      vs_mark;
++ 
++--- gcl27-2.7.1.orig/o/run_process.c
+++++ gcl27-2.7.1/o/run_process.c
++@@ -374,10 +374,8 @@ static char *lisp_to_string(object strin
++  * for a service on the same host as the clinet.
++  *
++  */
++-static int open_connection(host,server)
++-char *host;
++-int  server;
++-{
+++static int open_connection(char *host,int server) {
+++
++      int res;
++      int pid;
++      int     sock;
++@@ -430,11 +428,8 @@ int      server;
++      return(sock);
++ }
++ 
++-object make_stream(host_l,socket,smm)
++-object       host_l;
++-int socket;
++-enum smmode smm;
++-{
+++object make_stream(object host_l,int socket,enum smmode smm) {
+++
++      char    *mode=NULL;
++      object  stream;
++      FILE    *fp;
++@@ -470,10 +465,8 @@ enum smmode smm;
++ }
++ 
++ object
++-make_socket_stream(host_l,port)
++-object       host_l;
++-object       port;
++-{
+++make_socket_stream(object host_l,object port) {
+++
++      char    *host = lisp_to_string(host_l);
++      object  stream_in;
++      object  stream_out;
++@@ -574,8 +567,6 @@ spawn_process_with_streams(object istrea
++     close(fileno(istream->sm.sm_fp));
++     close(fileno(ostream->sm.sm_fp));
++ 
++-    emsg("\n***** Spawning process %s ", pname);
++-
++     errno=0;
++     execvp(pname,argv);
++     _exit(128|(errno&0x7f));
++--- gcl27-2.7.1.orig/o/sequence.d
+++++ gcl27-2.7.1/o/sequence.d
++@@ -269,9 +269,8 @@ LFD(Lcopy_seq)()
++ }
++ 
++ int
++-length(x)
++-object x;
++-{
+++length(object x) {
+++
++      int i;
++ 
++      switch (type_of(x)) {
++@@ -317,9 +316,8 @@ LFD(Lreverse)()
++ }
++ 
++ object
++-reverse(seq)
++-object seq;
++-{
+++reverse(object seq) {
+++
++      object x, y, *v;
++      int i, j, k;
++ 
++@@ -430,9 +428,8 @@ LFD(Lnreverse)()
++ }
++ 
++ object /*FIXME boot*/
++-nreverse(seq)
++-object seq;
++-{
+++nreverse(object seq) {
+++
++      object x, y, z;
++      int i, j, k;
++ 
++--- gcl27-2.7.1.orig/o/sockets.c
+++++ gcl27-2.7.1/o/sockets.c
++@@ -53,9 +53,6 @@ Foundation, 675 Mass Ave, Cambridge, MA
++ 
++ #include <errno.h> 
++ 
++-static void write_timeout_error();
++-static void connection_failure();
++-
++ #ifdef __MINGW32__
++ /* Keep track of socket initialisations */
++ int w32_socket_initialisations = 0;
++@@ -554,15 +551,13 @@ DEFUN("CLEAR-CONNECTION-STATE",object,fS
++ #endif
++ 
++ static void
++-write_timeout_error(s)
++-     char *s;
++-{FEerror("Write timeout: ~s",1,make_simple_string(s));
+++write_timeout_error(char *s) {
+++  FEerror("Write timeout: ~s",1,make_simple_string(s));
++ }
++ 
++ static void
++-connection_failure(s)
++-     char *s;
++-{FEerror("Connect failure: ~s",1,make_simple_string(s));
+++connection_failure(char *s) {
+++  FEerror("Connect failure: ~s",1,make_simple_string(s));
++ }
++ 
++ 
++--- gcl27-2.7.1.orig/o/string.d
+++++ gcl27-2.7.1/o/string.d
++@@ -82,9 +82,8 @@ alloc_simple_string(fixnum l) {
++      Make_simple_string(s) makes a simple string from C string s.
++ */
++ object
++-make_simple_string(s)
++-const char *s;
++-{
+++make_simple_string(const char *s) {
+++
++      int l, i;
++      char *p;
++      object x;
++@@ -103,9 +102,8 @@ const char *s;
++ }
++ 
++ object
++-make_string(s)
++-char *s;
++-{
+++make_string(char *s) {
+++
++      int l, i;
++      char *p;
++      object x;
++@@ -128,9 +126,8 @@ char *s;
++      This correponds to string= (just the string equality).
++ */
++ bool
++-string_eq(x, y)
++-object x, y;
++-{
+++string_eq(object x,object y) {
+++
++      int i, j;
++ 
++ 
++@@ -151,9 +148,8 @@ object x, y;
++      (string equality ignoring the case).
++ */
++ bool
++-string_equal(x, y)
++-object x, y;
++-{
+++string_equal(object x,object y) {
+++
++      int i, j;
++      char *p, *q;
++ 
++@@ -178,9 +174,8 @@ object x, y;
++      Copy_simple_string(x) copies string x to a simple string.
++ */
++ object
++-copy_simple_string(x)
++-object x;
++-{
+++copy_simple_string(object x) {
+++
++      object y;
++      int i;
++      vs_mark;
++@@ -205,9 +200,8 @@ object x;
++ }
++ 
++ object
++-copy_string(x)
++-object x;
++-{
+++copy_string(object x) {
+++
++      object y;
++      int i;
++      vs_mark;
++@@ -238,9 +232,8 @@ object x;
++ }
++ 
++ object
++-coerce_to_string(x)
++-object x;
++-{
+++coerce_to_string(object x) {
+++
++      object y;
++      vs_mark;
++ 
++@@ -276,10 +269,8 @@ object x;
++ 
++ 
++ void
++-get_string_start_end(str, start, end, ps, pe)
++-object str, start, end;
++-int *ps, *pe;
++-{
+++get_string_start_end(object str,object start,object end,int *ps,int *pe) {
+++
++      if (start == Cnil)
++              *ps = 0;
++      else if (type_of(start) != t_fixnum)
++@@ -458,10 +449,7 @@ LFD(Lstring_not_equal)()   { string_sign
++ @)
++ 
++ static bool
++-member_char(c, char_bag)
++-int c;
++-object char_bag;
++-{
+++member_char(int c,object char_bag) {
++ 
++      int i, f;
++ 
++@@ -533,27 +521,24 @@ LFD(Lstring_trim)() { left_trim = right_
++ LFD(Lstring_left_trim)() { left_trim = TRUE; right_trim = FALSE; FFN(Lstring_trim0)(); }
++ LFD(Lstring_right_trim)() { left_trim = FALSE; right_trim = TRUE; FFN(Lstring_trim0)();}
++ 
++-static int char_upcase(c, bp)
++-int c, *bp;
++-{
+++static int char_upcase(int c,int *bp) {
+++
++      if (isLower(c))
++              return(c - ('a' - 'A'));
++      else
++              return(c);
++ }
++ 
++-static int char_downcase(c, bp)
++-int c, *bp;
++-{
+++static int char_downcase(int c,int *bp) {
+++
++      if (isUpper(c))
++              return(c + ('a' - 'A'));
++      else
++              return(c);
++ }
++ 
++-static int char_capitalize(c, bp)
++-int c, *bp;
++-{
+++static int char_capitalize(int c,int *bp) {
+++
++      if (isLower(c)) {
++              if (*bp)
++                      c -= 'a' - 'A';
++@@ -571,7 +556,7 @@ int c, *bp;
++ 
++ @(static defun string_case (strng &key start end &aux conv)
++      int s=0, e=0, i;
++-     bool b;
+++     int b;
++ @
++      strng = coerce_to_string(strng);
++      get_string_start_end(strng, start, end, &s, &e);
++@@ -590,7 +575,7 @@ LFD(Lstring_capitalize)() { casefun = ch
++ 
++ @(static defun nstring_case (strng &key start end)
++      int s=0, e=0, i;
++-     bool b;
+++     int b;
++ @
++      check_type_string(&strng);
++      get_string_start_end(strng, start, end, &s, &e);
++--- gcl27-2.7.1.orig/o/symbol.d
+++++ gcl27-2.7.1/o/symbol.d
++@@ -40,9 +40,8 @@ odd_plist(object);
++ object siSpname;
++ 
++ object
++-make_symbol(st)
++-object st;
++-{
+++make_symbol(object st) {
+++
++      object x;
++ 
++      {BEGIN_NO_INTERRUPT;    
++@@ -70,9 +69,8 @@ object st;
++ 
++ 
++ object
++-make_ordinary(s)
++-char *s;
++-{
+++make_ordinary(char *s) {
+++
++      int j;
++      object x, l, *ep;
++      vs_mark;
++@@ -96,10 +94,8 @@ char *s;
++      with initial value v in lisp package.
++ */
++ object
++-make_special(s, v)
++-char *s;
++-object v;
++-{
+++make_special(char *s,object v) {
+++
++      object x;
++ 
++      x = make_ordinary(s);
++@@ -113,10 +109,8 @@ object v;
++      with constant value v in lisp package.
++ */
++ object
++-make_constant(s, v)
++-char *s;
++-object v;
++-{
+++make_constant(char *s,object v) {
+++
++      object x;
++ 
++      x = make_ordinary(s);
++@@ -134,9 +128,8 @@ object v;
++ 
++ 
++ object
++-make_si_ordinary(s)
++-char *s;
++-{
+++make_si_ordinary(char *s) {
+++
++      int j;
++      object x, l, *ep;
++      vs_mark;
++@@ -161,9 +154,8 @@ char *s;
++ }
++ 
++ object
++-make_gmp_ordinary(s)
++-char *s;
++-{
+++make_gmp_ordinary(char *s) {
+++
++         int i,j;
++      object x, l, *ep;
++      vs_mark;
++@@ -196,10 +188,8 @@ char *s;
++      with initial value v in system package.
++ */
++ object
++-make_si_special(s, v)
++-char *s;
++-object v;
++-{
+++make_si_special(char *s,object v) {
+++
++      object x;
++ 
++      x = make_si_ordinary(s);
++@@ -213,25 +203,23 @@ object v;
++      with constant value v in system package.
++ */
++ object
++-make_si_constant(s, v)
++-char *s;
++-object v;
++-{
+++make_si_constant(char *s,object v) {
+++
++      object x;
++ 
++      x = make_si_ordinary(s);
++      x->s.s_stype = (short)stp_constant;
++      x->s.s_dbind = v;
++      return(x);
+++
++ }
++ 
++ /*
++      Make_keyword(s) makes a keyword from C string s.
++ */
++ object
++-make_keyword(s)
++-char *s;
++-{
+++make_keyword(char *s) {
+++
++      int j;
++      object x, l, *ep;
++      vs_mark;
++@@ -254,9 +242,8 @@ char *s;
++ }
++ 
++ object
++-symbol_value(s)
++-object s;
++-{
+++symbol_value(object s) {
+++
++ /*
++      if (type_of(s) != t_symbol)
++              FEinvalid_variable("~S is not a symbol.", s);
++@@ -267,9 +254,7 @@ object s;
++ }
++ 
++ object
++-getf(place, indicator, deflt)
++-object place, indicator, deflt;
++-{
+++getf(object place,object indicator,object deflt) {
++ 
++      object l;
++ #define cendp(obj) ((!consp(obj)))
++@@ -285,9 +270,8 @@ object place, indicator, deflt;
++ }
++ 
++ object
++-get(s, p, d)
++-object s, p, d;
++-{
+++get(object s,object p,object d) {
+++
++      if (type_of(s) != t_symbol)
++              not_a_symbol(s);
++      return(getf(s->s.s_plist, p, d));
++@@ -298,9 +282,8 @@ object s, p, d;
++      and returns the resulting property list.
++ */
++ object
++-putf(p, v, i)
++-object p, v, i;
++-{
+++putf(object p,object v,object i) {
+++
++      object l;
++ 
++      for (l = p;  !cendp(l);  l = l->c.c_cdr->c.c_cdr) {
++@@ -316,9 +299,8 @@ object p, v, i;
++ }
++ 
++ object
++-putprop(s, v, p)
++-object s, v, p;
++-{
+++putprop(object s,object v,object p) {
+++
++      if (type_of(s) != t_symbol)
++              not_a_symbol(s);
++      s->s.s_plist = putf(s->s.s_plist, v, p);
++@@ -350,9 +332,8 @@ fSsputprop(object x,object y,object z) {
++              FALSE   otherwise.
++ */
++ bool
++-remf(p, i)
++-object *p, i;
++-{
+++remf(object *p,object i) {
+++
++      object l0 = *p;
++ 
++      for(;  !endp(*p);  p = &(*p)->c.c_cdr->c.c_cdr) {
++@@ -367,9 +348,8 @@ object *p, i;
++ }
++ 
++ object
++-remprop(s, p)
++-object s, p;
++-{
+++remprop(object s,object p) {
+++
++      if (type_of(s) != t_symbol)
++              not_a_symbol(s);
++      if (remf(&s->s.s_plist, p))
++@@ -379,9 +359,8 @@ object s, p;
++ }
++ 
++ bool
++-keywordp(s)
++-object s;
++-{
+++keywordp(object s) {
+++
++      return(type_of(s) == t_symbol && s->s.s_hpack == keyword_package);
++ /*
++      if (type_of(s) != t_symbol) {
++@@ -445,11 +424,11 @@ DEFUN("SYMBOL-STRING",object,fSsymbol_st
++ 
++ 
++ object
++-symbol_name(x)
++-object x;
++-{
+++symbol_name(object x) {
+++
++  if (type_of(x)!=t_symbol) FEwrong_type_argument(sLsymbol,x);
++  return(x->s.s_name);
+++
++ }
++ 
++ DEFUN("SYMBOL-NAME",object,fLsymbol_name,LISP,1,1,NONE,OO,OO,OO,OO,(object sym),"") {
++@@ -674,9 +653,7 @@ LFD(siLputprop)()
++ 
++ 
++ static void
++-odd_plist(place)
++-object place;
++-{
+++odd_plist(object place) {
++      FEerror("The length of the property-list ~S is odd.", 1, place);
++ }
++ 
++--- gcl27-2.7.1.orig/o/toplevel.c
+++++ gcl27-2.7.1/o/toplevel.c
++@@ -188,8 +188,7 @@ FFN(Fload_time_value)(object arg)
++ 
++ }
++ 
++-static void
++-FFN(Fdeclare)(object arg)
+++LFD(Fdeclare)(void)
++ {
++      FEerror("DECLARE appeared in an invalid position.", 0);
++ }
++--- gcl27-2.7.1.orig/o/unexelf.c
+++++ gcl27-2.7.1/o/unexelf.c
++@@ -583,9 +583,8 @@ typedef unsigned char byte;
++ /* Round X up to a multiple of Y.  */
++ 
++ static ElfW(Addr)
++-round_up (x, y)
++-     ElfW(Addr) x, y;
++-{
+++round_up (ElfW(Addr) x,ElfW(Addr) y) {
+++
++   int rem = x % y;
++   if (rem == 0)
++     return x;
++--- gcl27-2.7.1.orig/o/usig.c
+++++ gcl27-2.7.1/o/usig.c
++@@ -47,11 +47,10 @@ Foundation, 675 Mass Ave, Cambridge, MA
++ 
++ extern char signals_handled[];
++ 
++-void
++-main_signal_handler(int,siginfo_t,void *);
+++extern handler_function_type main_signal_handler;
++ 
++ void
++-gcl_signal(int signo, void (*handler) (/* ??? */))
+++gcl_signal(int signo, void (*handler)(int,long,void *,char *))
++ {
++   char *p = signals_handled;
++   while (*p)
++@@ -66,7 +65,7 @@ gcl_signal(int signo, void (*handler) (/
++   
++ #ifdef HAVE_SIGACTION
++     struct sigaction action;
++-    action.sa_sigaction = handler;
+++    action.sa_sigaction = (void *)handler;
++ /*    action.sa_flags =  SA_RESTART | ((signo == SIGSEGV || signo == SIGBUS) ? SV_ONSTACK : 0) */
++    action.sa_flags = SA_RESTART | ((signo == SIGSEGV || signo == SIGBUS) ? SA_ONSTACK : 0)  
++ #ifdef SA_SIGINFO
++@@ -178,7 +177,7 @@ DEFUN("FEENABLEEXCEPT",object,fSfeenable
++ 
++ DEFUN("FEDISABLEEXCEPT",object,fSfedisableexcept,SI,0,0,NONE,IO,OO,OO,OO,(void),"") {
++ 
++-  fixnum x;
+++  fixnum x=0;
++ 
++ #ifdef HAVE_FEENABLEEXCEPT
++ 
++@@ -228,8 +227,9 @@ DEFUN("STMXCSR",object,fSstmxcsr,SI,0,0,
++ 
++ 
++ static void
++-sigfpe3(int sig,siginfo_t *i,void *v) {
+++sigfpe3(int sig,long li,void *v,char *c) {
++ 
+++  siginfo_t *i=(void *)li;
++   unblock_signals(SIGFPE,SIGFPE);
++ #ifdef __MINGW32__
++   gcl_signal(SIGFPE,sigfpe3);
++@@ -255,7 +255,7 @@ DEFCONST("+FE-LIST+",sSPfe_listP,SI,list
++ DEF_ORDINARY("FLOATING-POINT-ERROR",sSfloating_point_error,SI,"");
++ 
++ static void
++-sigpipe(int s,siginfo_t *a,void *b)
+++sigpipe(int s,long la,void *b,char *c)
++ {
++   unblock_signals(SIGPIPE,SIGPIPE);
++   perror("");
++@@ -263,14 +263,14 @@ sigpipe(int s,siginfo_t *a,void *b)
++ }
++ 
++ void
++-sigint(int s,siginfo_t *a,void *b)
+++sigint(int s,long la,void *b,char *c)
++ {
++   unblock_signals(SIGINT,SIGINT);
++   terminal_interrupt(1);
++ }
++ 
++ static void
++-sigalrm(int s,siginfo_t *a,void *b)
+++sigalrm(int s,long a,void *b,char *c)
++ {
++   unblock_signals(SIGALRM,SIGALRM);
++   raise_pending_signals(sig_try_to_delay);
++@@ -282,7 +282,7 @@ DEF_ORDINARY("SIGUSR1-INTERRUPT",sSsigus
++ DEF_ORDINARY("SIGIO-INTERRUPT",sSsigio_interrupt,SI,"");
++ 
++ static void
++-sigusr1(int s,siginfo_t *a,void *b) {
+++sigusr1(int s,long a,void *b,char *c) {
++ 
++   unblock_signals(SIGUSR1,SIGUSR1);
++   ifuncall1(sSsigusr1_interrupt,Cnil);
++@@ -290,12 +290,12 @@ sigusr1(int s,siginfo_t *a,void *b) {
++ }
++ 
++ static void
++-sigio(int s,siginfo_t *a,void *b)
+++sigio(int s,long a,void *b,char *c)
++ {ifuncall1(sSsigio_interrupt,Cnil);}
++ 
++ 
++ static void
++-sigterm(int s,siginfo_t *a,void *b)
+++sigterm(int s,long la,void *b,char *c)
++ {do_gcl_abort();}
++ 
++ 
++--- gcl27-2.7.1.orig/o/usig2.c
+++++ gcl27-2.7.1/o/usig2.c
++@@ -167,7 +167,7 @@ only in very SAFE places.")
++      
++ 
++ void
++-main_signal_handler(int signo,siginfo_t *a,void *b)
+++main_signal_handler(int signo,long a,void *b,char *c)
++ {  int allowed = signals_allowed;
++ #ifdef NEED_TO_REINSTALL_SIGNALS
++        signal(signo,main_signal_handler);
++@@ -201,7 +201,7 @@ invoke_handler(int signo, int allowed)
++  {int prev_in_handler = in_signal_handler;
++   in_signal_handler |= (allowed <= sig_normal ? 1 : 0);
++   signals_allowed = allowed;
++-  our_signal_handler[signo](signo,0,0);
+++  our_signal_handler[signo](signo,0,0,0);
++   signals_allowed = 0;
++   in_signal_handler = prev_in_handler;
++   after_interrupt(&buf,allowed); 
++--- gcl27-2.7.1.orig/texinfo.tex
+++++ gcl27-2.7.1/texinfo.tex
++@@ -1,11 +1,11 @@
++ % texinfo.tex -- TeX macros to handle Texinfo files.
++-%
+++% 
++ % Load plain if necessary, i.e., if running under initex.
++ \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
++ %
++-\def\texinfoversion{2024-02-10.22}
+++\def\texinfoversion{2025-10-25.20}
++ %
++-% Copyright 1985, 1986, 1988, 1990-2024 Free Software Foundation, Inc.
+++% Copyright 1985, 1986, 1988, 1990-2025 Free Software Foundation, Inc.
++ %
++ % This texinfo.tex file is free software: you can redistribute it and/or
++ % modify it under the terms of the GNU General Public License as
++@@ -156,8 +156,9 @@
++ % Give the space character the catcode for a space.
++ \def\spaceisspace{\catcode`\ =10\relax}
++ 
++-% Likewise for ^^M, the end of line character.
++-\def\endlineisspace{\catcode13=10\relax}
+++% Used to ignore an active newline that may appear immediately after
+++% a macro name.
+++{\catcode13=\active \gdef\ignoreactivenewline{\let^^M\empty}}
++ 
++ \chardef\dashChar  = `\-
++ \chardef\slashChar = `\/
++@@ -212,7 +213,7 @@
++ % @errormsg{MSG}.  Do the index-like expansions on MSG, but if things
++ % aren't perfect, it's not the end of the world, being an error message,
++ % after all.
++-%
+++% 
++ \def\errormsg{\begingroup \indexnofonts \doerrormsg}
++ \def\doerrormsg#1{\errmessage{#1}}
++ 
++@@ -286,7 +287,6 @@
++ % Avoid "undefined control sequence" errors.
++ \def\currentchapterdefs{}
++ \def\currentsectiondefs{}
++-\def\currentsection{}
++ \def\prevchapterdefs{}
++ \def\prevsectiondefs{}
++ \def\currentcolordefs{}
++@@ -425,7 +425,7 @@
++   }%
++ }
++ 
++-% First remove any @comment, then any @c comment.  Pass the result on to
+++% First remove any @comment, then any @c comment.  Pass the result on to 
++ % \argremovespace.
++ \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
++ \def\argremovec#1\c#2\ArgTerm{\argremovespace#1$ $\ArgTerm}
++@@ -483,8 +483,8 @@
++ %   \envdef\foo{...}
++ %   \def\Efoo{...}
++ %
++-% It's the responsibility of \envdef to insert \begingroup before the
++-% actual body; @end closes the group after calling \Efoo.  \envdef also
+++% \envdef inserts \begingroup before the actual body; @end calls
+++% \Efoo then closes the group with \endgroup.  \envdef also
++ % defines \thisenv, so the current environment is known; @end checks
++ % whether the environment name matches.  The \checkenv macro can also be
++ % used to check whether the current environment is the one expected.
++@@ -951,8 +951,16 @@ where each line of input produces a line
++ \let\setfilename=\comment
++ 
++ % @bye.
++-\outer\def\bye{\chappager\pagelabels\tracingstats=1\ptexend}
++-
+++\outer\def\bye{%
+++  \chappager\pagelabels
+++  % possibly set in \printindex
+++  \ifx\byeerror\relax\else\errmessage{\byeerror}\fi
+++  \tracingstats=1\ptexend}
+++
+++% set in \donoderef below, but we need to define this here so that
+++% conditionals balance inside the large \ifpdf ... \fi blocks below.
+++\newif\ifnodeseen
+++\nodeseenfalse
++ 
++ \message{pdf,}
++ % adobe `portable' document format
++@@ -971,15 +979,52 @@ where each line of input produces a line
++ \newif\ifpdf
++ \newif\ifpdfmakepagedest
++ 
+++% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
+++% can be set).  So we test for \relax and 0 as well as being undefined.
+++\ifx\pdfoutput\thisisundefined
+++\else
+++  \ifx\pdfoutput\relax
+++  \else
+++    \ifcase\pdfoutput
+++    \else
+++      \pdftrue
+++    \fi
+++  \fi
+++\fi
+++
+++\newif\ifxetex
+++\ifx\XeTeXrevision\thisisundefined\else
+++  \xetextrue
+++\fi
+++
+++\newif\ifluatex
+++\ifx\luatexversion\thisisundefined\else
+++  \luatextrue
+++  \ifnum\luatexversion>84
+++    \pdftrue
+++  \fi
+++\fi
+++
+++\newif\ifpdforxetex
+++\ifpdf
+++  \pdforxetextrue
+++\fi
+++\ifxetex
+++  \pdforxetextrue
+++\fi
+++
+++
+++
+++% Whether to use non-ASCII bytes in internal link targets.  Presently this
+++% is almost always on.
+++\newif\iftxiuseunicodedestname
+++\txiuseunicodedestnametrue
+++
++ %
++ % For LuaTeX
++ %
++ 
++-\newif\iftxiuseunicodedestname
++-\txiuseunicodedestnamefalse % For pdfTeX etc.
++-
++-\ifx\luatexversion\thisisundefined
++-\else
+++\ifluatex
++   % Use Unicode destination names
++   \txiuseunicodedestnametrue
++   % Escape PDF strings with converting UTF-16 from UTF-8
++@@ -1026,13 +1071,13 @@ where each line of input produces a line
++         end
++       end
++     }
++-    % The -2 in the arguments here gives all the input to TeX catcode 12
++-    % (other) or 10 (space), preventing undefined control sequence errors. See
+++    % The -2 in the arguments here gives all the input to TeX catcode 12 
+++    % (other) or 10 (space), preventing undefined control sequence errors. See 
++     % https://lists.gnu.org/archive/html/bug-texinfo/2019-08/msg00031.html
++     %
++   \endgroup
++   \def\pdfescapestring#1{\directlua{PDFescstr('\luaescapestring{#1}')}}
++-  \ifnum\luatexversion>84
+++  \ifpdf
++     % For LuaTeX >= 0.85
++     \def\pdfdest{\pdfextension dest}
++     \let\pdfoutput\outputmode
++@@ -1055,28 +1100,6 @@ where each line of input produces a line
++   \fi
++ \fi
++ 
++-% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
++-% can be set).  So we test for \relax and 0 as well as being undefined.
++-\ifx\pdfoutput\thisisundefined
++-\else
++-  \ifx\pdfoutput\relax
++-  \else
++-    \ifcase\pdfoutput
++-    \else
++-      \pdftrue
++-    \fi
++-  \fi
++-\fi
++-
++-\newif\ifpdforxetex
++-\pdforxetexfalse
++-\ifpdf
++-  \pdforxetextrue
++-\fi
++-\ifx\XeTeXrevision\thisisundefined\else
++-  \pdforxetextrue
++-\fi
++-
++ 
++ % Output page labels information.
++ % See PDF reference v.1.7 p.594, section 8.3.1.
++@@ -1129,7 +1152,7 @@ where each line of input produces a line
++ % for display in the outlines, and in other places.  Thus, we have to
++ % double any backslashes.  Otherwise, a name like "\node" will be
++ % interpreted as a newline (\n), followed by o, d, e.  Not good.
++-%
+++% 
++ % See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
++ % related messages.  The final outcome is that it is up to the TeX user
++ % to double the backslashes and otherwise make the string valid, so
++@@ -1163,58 +1186,90 @@ with PDF output, and none of those forma
++ be supported due to the design of the PDF format; use regular TeX (DVI
++ output) for that.)}
++ 
+++% definitions for pdftex or luatex with pdf output
++ \ifpdf
+++  % Strings in PDF outlines can either be ASCII, or encoded in UTF-16BE
+++  % with BOM.  Unfortunately there is no simple way with pdftex to output
+++  % UTF-16, so we have to do some quite convoluted expansion games if we
+++  % find the string contains a non-ASCII codepoint if we want these to
+++  % display correctly.  We generated the UTF-16 sequences in
+++  % \DeclareUnicodeCharacter and we access them here.
++   %
++-  % Color manipulation macros using ideas from pdfcolor.tex,
++-  % except using rgb instead of cmyk; the latter is said to render as a
++-  % very dark gray on-screen and a very dark halftone in print, instead
++-  % of actual black. The dark red here is dark enough to print on paper as
++-  % nearly black, but still distinguishable for online viewing.  We use
++-  % black by default, though.
++-  \def\rgbDarkRed{0.50 0.09 0.12}
++-  \def\rgbBlack{0 0 0}
+++  \def\defpdfoutlinetextunicode#1{%
+++    \def\pdfoutlinetext{#1}%
+++    %
+++    % Make UTF-8 sequences expand to UTF-16 definitions.
+++    \passthroughcharsfalse \utfbytespdftrue
+++    \utfviiidefinedwarningfalse
+++    %
+++    % Completely expand, eliminating any control sequences such as \code,
+++    % leaving only possibly \utfbytes.
+++    \let\utfbytes\relax
+++    \pdfaccentliterals
+++    \xdef\pdfoutlinetextchecked{#1}%
+++    \checkutfbytes
+++  }%
+++  % Check if \utfbytes occurs in expansion.
+++  \def\checkutfbytes{%
+++    \expandafter\checkutfbytesz\pdfoutlinetextchecked\utfbytes\finish
+++  }%
+++  \def\checkutfbytesz#1\utfbytes#2\finish{%
+++    \def\after{#2}%
+++    \ifx\after\empty
+++      % No further action needed.  Output ASCII string as-is, as converting
+++      % to UTF-16 is somewhat slow (and uses more space).
+++      \global\let\pdfoutlinetext\pdfoutlinetextchecked
+++    \else
+++      \passthroughcharstrue % pass UTF-8 sequences unaltered
+++      \xdef\pdfoutlinetext{\pdfoutlinetext}%
+++      \expandafter\expandutfsixteen\expandafter{\pdfoutlinetext}\pdfoutlinetext
+++    \fi
+++  }%
++   %
++-  % rg sets the color for filling (usual text, etc.);
++-  % RG sets the color for stroking (thin rules, e.g., normal _'s).
++-  \def\pdfsetcolor#1{\pdfliteral{#1 rg  #1 RG}}
+++  \catcode2=1 % begin-group character
+++  \catcode3=2 % end-group character
++   %
++-  % Set color, and create a mark which defines \thiscolor accordingly,
++-  % so that \makeheadline knows which color to restore.
++-  \def\curcolor{0 0 0}%
++-  \def\setcolor#1{%
++-    \ifx#1\curcolor\else
++-      \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
++-      \domark
++-      \pdfsetcolor{#1}%
++-      \xdef\curcolor{#1}%
++-    \fi
++-  }
+++  % argument should be pure UTF-8 with no control sequences.  convert to
+++  % UTF-16BE by inserting null bytes before bytes < 128 and expanding
+++  % UTF-8 multibyte sequences to saved UTF-16BE sequences.
+++  \def\expandutfsixteen#1#2{%
+++    \bgroup \asciitounicode
+++    \passthroughcharsfalse
+++    \let\utfbytes\asis
+++    %
+++    % for Byte Order Mark (BOM)
+++    \catcode"FE=12
+++    \catcode"FF=12
+++    %
+++    % we want to treat { and } in #1 as any other ASCII bytes.  however,
+++    % we need grouping characters for \scantokens and definitions/assignments,
+++    % so define alternative grouping characters using control characters
+++    % that are unlikely to occur.
+++    % this does not affect 0x02 or 0x03 bytes arising from expansion as
+++    % these are tokens with different catcodes.
+++    \catcode"02=1 % begin-group character
+++    \catcode"03=2 % end-group character
+++    %
+++    \expandafter\xdef\expandafter#2\scantokens{%
+++      ^^02^^fe^^ff#1^^03}%
+++    % NB we need \scantokens to provide both the open and close group tokens
+++    % for \xdef otherwise there is an e-TeX error "File ended while
+++    % scanning definition of..."
+++    % NB \scantokens is a e-TeX command which is assumed to be provided by
+++    % pdfTeX.
+++    %
+++    \egroup
+++  }%
++   %
++-  \let\maincolor\rgbBlack
++-  \pdfsetcolor{\maincolor}
++-  \edef\thiscolor{\maincolor}
++-  \def\currentcolordefs{}
+++  \catcode2=12 \catcode3=12 % defaults
++   %
++-  \def\makefootline{%
++-    \baselineskip24pt
++-    \line{\pdfsetcolor{\maincolor}\the\footline}%
++-  }
+++  % Color support
++   %
++-  \def\makeheadline{%
++-    \vbox to 0pt{%
++-      \vskip-22.5pt
++-      \line{%
++-        \vbox to8.5pt{}%
++-        % Extract \thiscolor definition from the marks.
++-        \getcolormarks
++-        % Typeset the headline with \maincolor, then restore the color.
++-        \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
++-      }%
++-      \vss
++-    }%
++-    \nointerlineskip
++-  }
+++  % rg sets the color for filling (usual text, etc.);
+++  % RG sets the color for stroking (thin rules, e.g., normal _'s).
+++  \def\pdfsetcolor#1{\pdfliteral{#1 rg  #1 RG}}
++   %
+++  % PDF outline support
++   %
++   \pdfcatalog{/PageMode /UseOutlines}
++   %
++@@ -1311,18 +1366,15 @@ output) for that.)}
++       \def\pdfoutlinetext{#1}%
++     \else
++       \ifx \declaredencoding \utfeight
++-        \ifx\luatexversion\thisisundefined
++-          % For pdfTeX  with UTF-8.
++-          % TODO: the PDF format can use UTF-16 in bookmark strings,
++-          % but the code for this isn't done yet.
++-          % Use ASCII approximations.
++-          \passthroughcharsfalse
++-          \def\pdfoutlinetext{#1}%
++-        \else
+++        \ifluatex
++           % For LuaTeX with UTF-8.
++           % Pass through Unicode characters for title texts.
++           \passthroughcharstrue
++-          \def\pdfoutlinetext{#1}%
+++          \pdfaccentliterals
+++          \xdef\pdfoutlinetext{#1}%
+++        \else
+++          % For pdfTeX with UTF-8.
+++          \defpdfoutlinetextunicode{#1}%
++         \fi
++       \else
++         % For non-Latin-1 or non-UTF-8 encodings.
++@@ -1341,14 +1393,6 @@ output) for that.)}
++     \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
++   }
++   %
++-  % used to mark target names; must be expandable.
++-  \def\pdfmkpgn#1{#1}
++-  %
++-  % by default, use black for everything.
++-  \def\urlcolor{\rgbBlack}
++-  \let\linkcolor\rgbBlack
++-  \def\endlink{\setcolor{\maincolor}\pdfendlink}
++-  %
++   % Adding outlines to PDF; macros for calculating structure of outlines
++   % come from Petr Olsak
++   \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
++@@ -1374,7 +1418,7 @@ output) for that.)}
++       \def\pdfdestname{#4}%
++     \fi
++     %
++-    \pdfoutline goto name{\pdfmkpgn{\pdfdestname}}#2{\pdfoutlinetext}%
+++    \pdfoutline goto name{\pdfdestname}#2{\pdfoutlinetext}%
++   }
++   %
++   \def\pdfmakeoutlines{%
++@@ -1385,15 +1429,18 @@ output) for that.)}
++      \def\thischapnum{##2}%
++      \def\thissecnum{0}%
++      \def\thissubsecnum{0}%
+++     \def\indexlastsec{chap\thischapnum}%
++       }%
++       \def\numsecentry##1##2##3##4{%
++      \advancenumber{chap\thischapnum}%
++      \def\thissecnum{##2}%
++      \def\thissubsecnum{0}%
+++     \def\indexlastsec{sec\thissecnum}%
++       }%
++       \def\numsubsecentry##1##2##3##4{%
++      \advancenumber{sec\thissecnum}%
++      \def\thissubsecnum{##2}%
+++     \def\indexlastsec{subsec\thissecnum}%
++       }%
++       \def\numsubsubsecentry##1##2##3##4{%
++      \advancenumber{subsec\thissubsecnum}%
++@@ -1401,7 +1448,13 @@ output) for that.)}
++       \def\thischapnum{0}%
++       \def\thissecnum{0}%
++       \def\thissubsecnum{0}%
+++      \let\indexlastsec\empty
++       %
+++      % Index initials are subsidiary to whatever sectioning command just
+++      % occurred, usually @appendix or @chapter but occasionally a lower level.
+++      \def\idxinitialentry##1##2##3##4{%
+++        \expandafter\advancenumber\expandafter{\indexlastsec}%
+++      }%
++       % use \def rather than \let here because we redefine \chapentry et
++       % al. a second time, below.
++       \def\appentry{\numchapentry}%
++@@ -1412,6 +1465,7 @@ output) for that.)}
++       \def\unnsecentry{\numsecentry}%
++       \def\unnsubsecentry{\numsubsecentry}%
++       \def\unnsubsubsecentry{\numsubsubsecentry}%
+++      %
++       \readdatafile{toc}%
++       %
++       % Read toc second time, this time actually producing the outlines.
++@@ -1421,7 +1475,7 @@ output) for that.)}
++       % We use the node names as the destinations.
++       %
++       % Currently we prefix the section name with the section number
++-      % for chapter and appendix headings only in order to avoid too much
+++      % for chapter and appendix headings only in order to avoid too much 
++       % horizontal space being required in the PDF viewer.
++       \def\numchapentry##1##2##3##4{%
++         \dopdfoutline{##2 ##1}{count-\expnumber{chap##2}}{##3}{##4}}%
++@@ -1433,28 +1487,23 @@ output) for that.)}
++         \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
++       \def\numsubsubsecentry##1##2##3##4{% count is always zero
++         \dopdfoutline{##1}{}{##3}{##4}}%
++-      %
++-      % PDF outlines are displayed using system fonts, instead of
++-      % document fonts.  Therefore we cannot use special characters,
++-      % since the encoding is unknown.  For example, the eogonek from
++-      % Latin 2 (0xea) gets translated to a | character.  Info from
++-      % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
++-      %
++-      % TODO this right, we have to translate 8-bit characters to
++-      % their "best" equivalent, based on the @documentencoding.  Too
++-      % much work for too little return.  Just use the ASCII equivalents
++-      % we use for the index sort strings.
++-      %
++-      \indexnofonts
+++      \def\idxinitialentry##1##2##3##4{%
+++        \dopdfoutline{##1}{}{idx.##1.##2}{##4}}%
+++      % 
+++      \ifnodeseen\else \dopdfoutlinecontents \fi % for @contents at beginning
++       \setupdatafile
++       % We can have normal brace characters in the PDF outlines, unlike
++       % Texinfo index files.  So set that up.
++       \def\{{\lbracecharliteral}%
++       \def\}{\rbracecharliteral}%
++       \catcode`\\=\active \otherbackslash
++-      \input \tocreadfilename
+++      \input \tocreadfilename\relax
+++      \ifnodeseen \dopdfoutlinecontents \fi % for @contents at end
++     \endgroup
++   }
+++  \def\dopdfoutlinecontents{%
+++    \expandafter\dopdfoutline\expandafter{\putwordTOC}{}{txi.CONTENTS}{}%
+++  }
++   {\catcode`[=1 \catcode`]=2
++    \catcode`{=\other \catcode`}=\other
++    \gdef\lbracecharliteral[{]%
++@@ -1480,55 +1529,16 @@ output) for that.)}
++   \else
++     \let \startlink \pdfstartlink
++   \fi
++-  % make a live url in pdf output.
++-  \def\pdfurl#1{%
++-    \begingroup
++-      % it seems we really need yet another set of dummies; have not
++-      % tried to figure out what each command should do in the context
++-      % of @url.  for now, just make @/ a no-op, that's the only one
++-      % people have actually reported a problem with.
++-      %
++-      \normalturnoffactive
++-      \def\@{@}%
++-      \let\/=\empty
++-      \makevalueexpandable
++-      % do we want to go so far as to use \indexnofonts instead of just
++-      % special-casing \var here?
++-      \def\var##1{##1}%
++-      %
++-      \leavevmode\setcolor{\urlcolor}%
++-      \startlink attr{/Border [0 0 0]}%
++-        user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
++-    \endgroup}
++-  % \pdfgettoks - Surround page numbers in #1 with @pdflink.  #1 may
++-  % be a simple number, or a list of numbers in the case of an index
++-  % entry.
++-  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
++-  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
++-  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
++-  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
++-  \def\maketoks{%
++-    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
++-    \ifx\first0\adn0
++-    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
++-    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
++-    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
++-    \else
++-      \ifnum0=\countA\else\makelink\fi
++-      \ifx\first.\let\next=\done\else
++-        \let\next=\maketoks
++-        \addtokens{\toksB}{\the\toksD}
++-        \ifx\first,\addtokens{\toksB}{\space}\fi
++-      \fi
++-    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
++-    \next}
++-  \def\makelink{\addtokens{\toksB}%
++-    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+++  \def\pdfmakeurl#1{%
+++    \startlink attr{/Border [0 0 0]}%
+++      user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
+++  }%
+++  \def\endlink{\setcolor{\maincolor}\pdfendlink}
+++  %
++   \def\pdflink#1{\pdflinkpage{#1}{#1}}%
++   \def\pdflinkpage#1#2{%
++-    \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
+++    \startlink attr{/Border [0 0 0]} goto name{#1}
++     \setcolor{\linkcolor}#2\endlink}
++-  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
++ \else
++   % non-pdf mode
++   \let\pdfmkdest = \gobble
++@@ -1537,13 +1547,12 @@ output) for that.)}
++   \let\setcolor = \gobble
++   \let\pdfsetcolor = \gobble
++   \let\pdfmakeoutlines = \relax
++-\fi  % \ifx\pdfoutput
+++\fi
++ 
++ %
++ % For XeTeX
++ %
++-\ifx\XeTeXrevision\thisisundefined
++-\else
+++\ifxetex
++   %
++   % XeTeX version check
++   %
++@@ -1569,45 +1578,8 @@ output) for that.)}
++   \fi
++   %
++   % Color support
++-  %
++-  \def\rgbDarkRed{0.50 0.09 0.12}
++-  \def\rgbBlack{0 0 0}
++-  %
++   \def\pdfsetcolor#1{\special{pdf:scolor [#1]}}
++   %
++-  % Set color, and create a mark which defines \thiscolor accordingly,
++-  % so that \makeheadline knows which color to restore.
++-  \def\setcolor#1{%
++-    \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
++-    \domark
++-    \pdfsetcolor{#1}%
++-  }
++-  %
++-  \def\maincolor{\rgbBlack}
++-  \pdfsetcolor{\maincolor}
++-  \edef\thiscolor{\maincolor}
++-  \def\currentcolordefs{}
++-  %
++-  \def\makefootline{%
++-    \baselineskip24pt
++-    \line{\pdfsetcolor{\maincolor}\the\footline}%
++-  }
++-  %
++-  \def\makeheadline{%
++-    \vbox to 0pt{%
++-      \vskip-22.5pt
++-      \line{%
++-        \vbox to8.5pt{}%
++-        % Extract \thiscolor definition from the marks.
++-        \getcolormarks
++-        % Typeset the headline with \maincolor, then restore the color.
++-        \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
++-      }%
++-      \vss
++-    }%
++-    \nointerlineskip
++-  }
++-  %
++   % PDF outline support
++   %
++   % Emulate pdfTeX primitive
++@@ -1645,11 +1617,6 @@ output) for that.)}
++     \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
++   }
++   %
++-  % by default, use black for everything.
++-  \def\urlcolor{\rgbBlack}
++-  \def\linkcolor{\rgbBlack}
++-  \def\endlink{\setcolor{\maincolor}\pdfendlink}
++-  %
++   \def\dopdfoutline#1#2#3#4{%
++     \setpdfoutlinetext{#1}
++     \setpdfdestname{#3}
++@@ -1663,24 +1630,30 @@ output) for that.)}
++   %
++   \def\pdfmakeoutlines{%
++     \begingroup
++-      %
++       % For XeTeX, counts of subentries are not necessary.
++       % Therefore, we read toc only once.
++       %
++       % We use node names as destinations.
++       %
++       % Currently we prefix the section name with the section number
++-      % for chapter and appendix headings only in order to avoid too much
+++      % for chapter and appendix headings only in order to avoid too much 
++       % horizontal space being required in the PDF viewer.
++       \def\partentry##1##2##3##4{}% ignore parts in the outlines
++       \def\numchapentry##1##2##3##4{%
++-        \dopdfoutline{##2 ##1}{1}{##3}{##4}}%
+++        \dopdfoutline{##2 ##1}{1}{##3}{##4}%
+++        \def\indexseclevel{2}}%
++       \def\numsecentry##1##2##3##4{%
++-        \dopdfoutline{##1}{2}{##3}{##4}}%
+++        \dopdfoutline{##1}{2}{##3}{##4}%
+++        \def\indexseclevel{3}}%
++       \def\numsubsecentry##1##2##3##4{%
++-        \dopdfoutline{##1}{3}{##3}{##4}}%
+++        \dopdfoutline{##1}{3}{##3}{##4}%
+++        \def\indexseclevel{4}}%
++       \def\numsubsubsecentry##1##2##3##4{%
++-        \dopdfoutline{##1}{4}{##3}{##4}}%
+++        \dopdfoutline{##1}{4}{##3}{##4}%
+++        \def\indexseclevel{5}}%
+++      %
+++      \def\idxinitialentry##1##2##3##4{%
+++         \dopdfoutline{##1}{\indexseclevel}{idx.##1.##2}{##4}}%
++       %
++       \let\appentry\numchapentry%
++       \let\appsecentry\numsecentry%
++@@ -1696,15 +1669,25 @@ output) for that.)}
++       % Therefore, the encoding and the language may not be considered.
++       %
++       \indexnofonts
+++      \pdfaccentliterals
+++      \ifnodeseen\else \dopdfoutlinecontents \fi % for @contents at beginning
+++      %
++       \setupdatafile
++       % We can have normal brace characters in the PDF outlines, unlike
++       % Texinfo index files.  So set that up.
++       \def\{{\lbracecharliteral}%
++       \def\}{\rbracecharliteral}%
++       \catcode`\\=\active \otherbackslash
++-      \input \tocreadfilename
+++      \xetexpreauxfile
+++      \input \tocreadfilename\relax
+++      \xetexpostauxfile
+++      \ifnodeseen \dopdfoutlinecontents \fi % for @contents at end
++     \endgroup
++   }
+++  \def\dopdfoutlinecontents{%
+++    \expandafter\dopdfoutline\expandafter
+++      {\putwordTOC}{1}{txi.CONTENTS}{txi.CONTENTS}%
+++  }
++   {\catcode`[=1 \catcode`]=2
++    \catcode`{=\other \catcode`}=\other
++    \gdef\lbracecharliteral[{]%
++@@ -1717,7 +1700,7 @@ output) for that.)}
++   % However, due to a UTF-16 conversion issue of xdvipdfmx 20150315,
++   % ``\special{pdf:dest ...}'' cannot handle non-ASCII strings.
++   % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753).
++-%
+++  %
++   \def\skipspaces#1{\def\PP{#1}\def\D{|}%
++     \ifx\PP\D\let\nextsp\relax
++     \else\let\nextsp\skipspaces
++@@ -1732,55 +1715,17 @@ output) for that.)}
++     \edef\temp{#1}%
++     \expandafter\skipspaces\temp|\relax
++   }
++-  % make a live url in pdf output.
++-  \def\pdfurl#1{%
++-    \begingroup
++-      % it seems we really need yet another set of dummies; have not
++-      % tried to figure out what each command should do in the context
++-      % of @url.  for now, just make @/ a no-op, that's the only one
++-      % people have actually reported a problem with.
++-      %
++-      \normalturnoffactive
++-      \def\@{@}%
++-      \let\/=\empty
++-      \makevalueexpandable
++-      % do we want to go so far as to use \indexnofonts instead of just
++-      % special-casing \var here?
++-      \def\var##1{##1}%
++-      %
++-      \leavevmode\setcolor{\urlcolor}%
++-      \special{pdf:bann << /Border [0 0 0]
++-        /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
++-    \endgroup}
+++  \def\pdfmakeurl#1{%
+++    \special{pdf:bann << /Border [0 0 0]
+++      /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
+++  }
++   \def\endlink{\setcolor{\maincolor}\special{pdf:eann}}
++-  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
++-  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
++-  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
++-  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
++-  \def\maketoks{%
++-    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
++-    \ifx\first0\adn0
++-    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
++-    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
++-    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
++-    \else
++-      \ifnum0=\countA\else\makelink\fi
++-      \ifx\first.\let\next=\done\else
++-        \let\next=\maketoks
++-        \addtokens{\toksB}{\the\toksD}
++-        \ifx\first,\addtokens{\toksB}{\space}\fi
++-      \fi
++-    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
++-    \next}
++-  \def\makelink{\addtokens{\toksB}%
++-    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
++   \def\pdflink#1{\pdflinkpage{#1}{#1}}%
++   \def\pdflinkpage#1#2{%
++     \special{pdf:bann << /Border [0 0 0]
++       /Type /Annot /Subtype /Link /A << /S /GoTo /D (#1) >> >>}%
++     \setcolor{\linkcolor}#2\endlink}
++-  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
++-%
+++  %
++   %
++   % @image support
++   %
++@@ -1837,6 +1782,164 @@ output) for that.)}
++   }
++ \fi
++ 
+++% common definitions and code for pdftex, luatex and xetex
+++\ifpdforxetex
+++  % The dark red here is dark enough to print on paper as
+++  % nearly black, but still distinguishable for online viewing.  We use
+++  % black by default, though.
+++  \def\rgbDarkRed{0.50 0.09 0.12}
+++  \def\rgbBlack{0 0 0}
+++  %
+++  % Set color, and create a mark which defines \thiscolor accordingly,
+++  % so that \makeheadline knows which color to restore.
+++  \def\curcolor{0 0 0}%
+++  \def\setcolor#1{%
+++    \ifx#1\curcolor\else
+++      \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
+++      \domark
+++      \pdfsetcolor{#1}%
+++      \xdef\curcolor{#1}%
+++    \fi
+++  }
+++  %
+++  \let\maincolor\rgbBlack
+++  \pdfsetcolor{\maincolor}
+++  \edef\thiscolor{\maincolor}
+++  \def\currentcolordefs{}
+++  %
+++  \def\makefootline{%
+++    \baselineskip24pt
+++    \line{\pdfsetcolor{\maincolor}\the\footline}%
+++  }
+++  %
+++  \def\makeheadline{%
+++    \vbox to 0pt{%
+++      \vskip-22.5pt
+++      \line{%
+++        \vbox to8.5pt{}%
+++        % Extract \thiscolor definition from the marks.
+++        \getcolormarks
+++        % Typeset the headline with \maincolor, then restore the color.
+++        \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
+++      }%
+++      \vss
+++    }%
+++    \nointerlineskip
+++  }
+++  %
+++  % by default, use black for everything.
+++  \def\urlcolor{\rgbBlack}
+++  \let\linkcolor\rgbBlack
+++  %
+++  % make a live url in pdf output.
+++  \def\pdfurl#1{%
+++    \begingroup
+++      % it seems we really need yet another set of dummies; have not
+++      % tried to figure out what each command should do in the context
+++      % of @url.  for now, just make @/ a no-op, that's the only one
+++      % people have actually reported a problem with.
+++      %
+++      \normalturnoffactive
+++      \def\@{@}%
+++      \let\/=\empty
+++      \makevalueexpandable
+++      % do we want to go so far as to use \indexnofonts instead of just
+++      % special-casing \var here?
+++      \def\var##1{##1}%
+++      %
+++      \leavevmode\setcolor{\urlcolor}%
+++      \pdfmakeurl{#1}%
+++    \endgroup}
+++  %
+++  % \pdfgettoks - Surround page numbers in #1 with @pdflink.  #1 may
+++  % be a simple number, or a list of numbers in the case of an index
+++  % entry.
+++  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+++  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+++  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+++  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+++  \def\maketoks{%
+++    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
+++    \ifx\first0\adn0
+++    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+++    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+++    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+++    \else
+++      \ifnum0=\countA\else\makelink\fi
+++      \ifx\first.\let\next=\done\else
+++        \let\next=\maketoks
+++        \addtokens{\toksB}{\the\toksD}
+++        \ifx\first,\addtokens{\toksB}{\space}\fi
+++      \fi
+++    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+++    \next}
+++  \def\makelink{\addtokens{\toksB}%
+++    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+++  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
+++\fi
+++
+++\ifpdforxetex
+++  % for pdftex.
+++  {\catcode`^^cc=13
+++  \gdef\pdfaccentliteralsutfviii{%
+++    % For PDF outline only.  Unicode combining accents follow the
+++    % character they modify.  Note we need at least the first byte
+++    % of the UTF-8 sequences to have an active catcode to allow the
+++    % definitions to do their magic.
+++    \def\"##1{##1^^cc^^88}%           U+0308
+++    \def\'##1{##1^^cc^^81}%           U+0301
+++    \def\,##1{##1^^cc^^a7}%           U+0327
+++    \def\=##1{##1^^cc^^85}%           U+0305
+++    \def\^##1{##1^^cc^^82}%           U+0302
+++    \def\`##1{##1^^cc^^80}%           U+0300
+++    \def\~##1{##1^^cc^^83}%           U+0303
+++    \def\dotaccent##1{##1^^cc^^87}%   U+0307
+++    \def\H##1{##1^^cc^^8b}%           U+030B
+++    \def\ogonek##1{##1^^cc^^a8}%      U+0328
+++    \def\ringaccent##1{##1^^cc^^8a}%  U+030A
+++    \def\u##1{##1^^cc^^8c}%           U+0306
+++    \def\ubaraccent##1{##1^^cc^^b1}%  U+0331
+++    \def\udotaccent##1{##1^^cc^^a3}%  U+0323
+++    \def\v##1{##1^^cc^^8c}%           U+030C
+++    % this definition of @tieaccent will only work with exactly two characters
+++    % in argument as we need to insert the combining character between them.
+++    \def\tieaccent##1{\tieaccentz##1}%
+++    \def\tieaccentz##1##2{##1^^cd^^a1##2} % U+0361
+++  }}%
+++  %
+++  % for xetex and luatex, which both support extended ^^^^ escapes and
+++  % process the Unicode codepoint as a single token.
+++  \gdef\pdfaccentliteralsnative{%
+++    \def\"##1{##1^^^^0308}%
+++    \def\'##1{##1^^^^0301}%
+++    \def\,##1{##1^^^^0327}%
+++    \def\=##1{##1^^^^0305}%
+++    \def\^##1{##1^^^^0302}%
+++    \def\`##1{##1^^^^0300}%
+++    \def\~##1{##1^^^^0303}%
+++    \def\dotaccent##1{##1^^^^0307}%
+++    \def\H##1{##1^^^^030b}%
+++    \def\ogonek##1{##1^^^^0328}%
+++    \def\ringaccent##1{##1^^^^030a}%
+++    \def\u##1{##1^^^^0306}%
+++    \def\ubaraccent##1{##1^^^^0331}%
+++    \def\udotaccent##1{##1^^^^0323}%
+++    \def\v##1{##1^^^^030c}%
+++    \def\tieaccent##1{\tieaccentz##1}%
+++    \def\tieaccentz##1##2{##1^^^^0361##2} % U+0361
+++  }%
+++  %
+++  % use the appropriate definition
+++  \ifluatex
+++    \let\pdfaccentliterals\pdfaccentliteralsnative
+++  \else
+++    \ifxetex
+++      \let\pdfaccentliterals\pdfaccentliteralsnative
+++    \else
+++      \let\pdfaccentliterals\pdfaccentliteralsutfviii
+++    \fi
+++  \fi
+++\fi
++ 
++ %
++ \message{fonts,}
++@@ -2697,7 +2800,7 @@ end
++ }
++ 
++ % Commands to set the quote options.
++-%
+++% 
++ \parseargdef\codequoteundirected{%
++   \def\temp{#1}%
++   \ifx\temp\onword
++@@ -2743,7 +2846,7 @@ end
++ % If we are in a monospaced environment, however, 1) always use \ttsl,
++ % and 2) do not add an italic correction.
++ \def\dosmartslant#1#2{%
++-  \ifusingtt
+++  \ifusingtt 
++     {{\ttsl #2}\let\next=\relax}%
++     {\def\next{{#1#2}\smartitaliccorrection}}%
++   \next
++@@ -2768,15 +2871,15 @@ end
++ % @cite unconditionally uses \sl with \smartitaliccorrection.
++ \def\cite#1{{\sl #1}\smartitaliccorrection}
++ 
++-% @var unconditionally uses \sl.  This gives consistency for
++-% parameter names whether they are in @def, @table @code or a
++-% regular paragraph.
++-%  To get ttsl font for @var when used in code context, @set txicodevaristt.
++-% The \null is to reset \spacefactor.
+++% By default, use ttsl font for @var when used in code context.
+++% To unconditionally use \sl for @var, @clear txicodevaristt.  This
+++% gives consistency for parameter names whether they are in @def,
+++% @table @code or a regular paragraph.
++ \def\aftersmartic{}
++ \def\var#1{%
++   \let\saveaftersmartic = \aftersmartic
++   \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
+++  % The \null is to reset \spacefactor.
++   %
++   \ifflagclear{txicodevaristt}%
++     {\def\varnext{{{\sl #1}}\smartitaliccorrection}}%
++@@ -2784,7 +2887,6 @@ end
++   \varnext
++ }
++ 
++-% To be removed after next release
++ \def\SETtxicodevaristt{}% @set txicodevaristt
++ 
++ \let\i=\smartitalic
++@@ -2804,7 +2906,7 @@ end
++ \def\ii#1{{\it #1}}             % italic font
++ 
++ % @b, explicit bold.  Also @strong.
++-\def\b#1{{\bf #1}}
+++\def\b#1{{\bf \defcharsdefault #1}}
++ \let\strong=\b
++ 
++ % @sansserif, explicit sans.
++@@ -2922,7 +3024,7 @@ end
++   \gdef\codedash{\futurelet\next\codedashfinish}
++   \gdef\codedashfinish{%
++     \normaldash % always output the dash character itself.
++-    %
+++    % 
++     % Now, output a discretionary to allow a line break, unless
++     % (a) the next character is a -, or
++     % (b) the preceding character is a -, or
++@@ -3028,25 +3130,25 @@ end
++         % For pdfTeX and LuaTeX
++         \ifurefurlonlylink
++           % PDF plus option to not display url, show just arg
++-          \unhbox0
+++          \unhbox0             
++         \else
++           % PDF, normally display both arg and url for consistency,
++           % visibility, if the pdf is eventually used to print, etc.
++           \unhbox0\ (\urefcode{#1})%
++         \fi
++       \else
++-        \ifx\XeTeXrevision\thisisundefined
++-          \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
++-        \else
+++        \ifxetex
++           % For XeTeX
++           \ifurefurlonlylink
++             % PDF plus option to not display url, show just arg
++-            \unhbox0
+++            \unhbox0             
++           \else
++             % PDF, normally display both arg and url for consistency,
++             % visibility, if the pdf is eventually used to print, etc.
++             \unhbox0\ (\urefcode{#1})%
++           \fi
+++        \else
+++          \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
++         \fi
++       \fi
++     \else
++@@ -3099,10 +3201,10 @@ end
++   }
++ }
++ 
++-% By default we'll break after the special characters, but some people like to
++-% break before the special chars, so allow that.  Also allow no breaking at
+++% By default we'll break after the special characters, but some people like to 
+++% break before the special chars, so allow that.  Also allow no breaking at 
++ % all, for manual control.
++-%
+++% 
++ \parseargdef\urefbreakstyle{%
++   \def\txiarg{#1}%
++   \ifx\txiarg\wordnone
++@@ -3121,16 +3223,17 @@ end
++ \def\wordnone{none}
++ 
++ % Allow a ragged right output to aid breaking long URL's.  There can
++-% be a break at the \allowbreak with no extra glue (if the existing stretch in
+++% be a break at the \allowbreak with no extra glue (if the existing stretch in 
++ % the line is sufficient), a break at the \penalty with extra glue added
++ % at the end of the line, or no break at all here.
++-%   Changing the value of the penalty and/or the amount of stretch affects how
+++%   Changing the value of the penalty and/or the amount of stretch affects how 
++ % preferable one choice is over the other.
+++%   Check test cases in doc/texinfo-tex-test.texi before making any changes.
++ \def\urefallowbreak{%
++   \penalty0\relax
++-  \hskip 0pt plus 2 em\relax
+++  \hskip 0pt plus 3 em\relax
++   \penalty1000\relax
++-  \hskip 0pt plus -2 em\relax
+++  \hskip 0pt plus -3 em\relax
++ }
++ 
++ \urefbreakstyle after
++@@ -3339,7 +3442,7 @@ $$%
++ % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
++ % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
++ % except specified as a normal braced arg, so no newlines to worry about.
++-%
+++% 
++ \def\outfmtnametex{tex}
++ %
++ \long\def\inlinefmt#1{\doinlinefmt #1,\finish}
++@@ -3347,7 +3450,7 @@ $$%
++   \def\inlinefmtname{#1}%
++   \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
++ }
++-%
+++% 
++ % @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if
++ % FMTNAME is tex, else ELSE-TEXT.
++ \long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish}
++@@ -3363,7 +3466,7 @@ $$%
++ % *right* brace they would have to use a command anyway, so they may as
++ % well use a command to get a left brace too.  We could re-use the
++ % delimiter character idea from \verb, but it seems like overkill.
++-%
+++% 
++ \long\def\inlineraw{\tex \doinlineraw}
++ \long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
++ \def\doinlinerawtwo#1,#2,\finish{%
++@@ -3649,7 +3752,7 @@ $$%
++ % for non-CM glyphs.  That is ec* for regular text and tc* for the text
++ % companion symbols (LaTeX TS1 encoding).  Both are part of the ec
++ % package and follow the same conventions.
++-%
+++% 
++ \def\ecfont{\etcfont{e}}
++ \def\tcfont{\etcfont{t}}
++ %
++@@ -3665,15 +3768,24 @@ $$%
++      {\font\thisecfont = #1ctt\ecsize \space at \nominalsize}%
++   % else
++      {\ifx\curfontstyle\bfstylename
++-        % bold:
++-        \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
+++        \etcfontbold{#1}%
++       \else
++-        % regular:
++-        \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+++        \ifrmisbold
+++          \etcfontbold{#1}%
+++        \else
+++          % regular:
+++          \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space
+++            at \nominalsize
+++        \fi
++       \fi}%
++   \thisecfont
++ }
++ 
+++\def\etcfontbold#1{%
+++  % bold:
+++  \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
+++}
+++
++ % @registeredsymbol - R in a circle.  The font for the R should really
++ % be smaller yet, but lllsize is the best we can do for now.
++ % Adapted from the plain.tex definition of \copyright.
++@@ -3731,7 +3843,7 @@ $$%
++               after the title page.}}%
++ \def\setshortcontentsaftertitlepage{%
++   \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo
++-              command; move your @shortcontents and @contents commands if you
+++              command; move your @shortcontents and @contents commands if you 
++               want the contents after the title page.}}%
++ 
++ \parseargdef\shorttitlepage{%
++@@ -3776,7 +3888,8 @@ $$%
++ }
++ 
++ \def\finishtitlepage{%
++-  \vskip4pt \hrule height 2pt width \hsize
+++  \ifseenauthor \vskip4pt \else \vskip 0pt plus 1filll \fi
+++  \hrule height 2pt width \hsize
++   \vskip\titlepagebottomglue
++   \finishedtitlepagetrue
++ }
++@@ -3785,7 +3898,7 @@ $$%
++ % don't worry much about spacing, ragged right.  This should be used
++ % inside a \vbox, and fonts need to be set appropriately first. \par should
++ % be specified before the end of the \vbox, since a vbox is a group.
++-%
+++% 
++ \def\raggedtitlesettings{%
++   \rm
++   \hyphenpenalty=10000
++@@ -3799,33 +3912,105 @@ $$%
++ \let\subtitlerm=\rmfont
++ \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
++ 
+++\let\savedtitle\empty
+++\let\savedsubtitlegroup\empty
+++\let\savedauthorgroup\empty
+++
++ \parseargdef\title{%
++-  \checkenv\titlepage
++-  \vbox{\titlefonts \raggedtitlesettings #1\par}%
++-  % print a rule at the page bottom also.
++-  \finishedtitlepagefalse
++-  \vskip4pt \hrule height 4pt width \hsize \vskip4pt
+++  \expandafter\ifx\thisenv\documentinfo
+++    \gdef\savedtitle{#1}%
+++  \else
+++    \checkenv\titlepage
+++    \vbox{\titlefonts \raggedtitlesettings #1\par}%
+++    % print a rule at the page bottom also.
+++    \finishedtitlepagefalse
+++    \vskip4pt \hrule height 4pt width \hsize \vskip4pt
+++  \fi
++ }
++ 
++ \parseargdef\subtitle{%
++-  \checkenv\titlepage
++-  {\subtitlefont \rightline{#1}}%
+++  \expandafter\ifx\thisenv\documentinfo
+++    \ifx\savedsubtitlegroup\empty
+++      \gdef\savedsubtitlegroup{\savedsubtitle{#1}}%
+++    \else
+++      \expandafter\gdef\expandafter\savedsubtitlegroup\expandafter{%
+++        \savedsubtitlegroup\savedsubtitle{#1}}%
+++    \fi
+++  \else
+++    \checkenv\titlepage
+++    {\subtitlefont \rightline{#1}}%
+++  \fi
++ }
++ 
++ % @author should come last, but may come many times.
++ % It can also be used inside @quotation.
++ %
++ \parseargdef\author{%
++-  \def\temp{\quotation}%
++-  \ifx\thisenv\temp
++-    \def\quotationauthor{#1}% printed in \Equotation.
+++  \expandafter\ifx\thisenv\documentinfo
+++    \ifx\savedauthorgroup\empty
+++      \gdef\savedauthorgroup{\savedauthor{#1}}%
+++    \else
+++      \expandafter\gdef\expandafter\savedauthorgroup\expandafter{%
+++        \savedauthorgroup\savedauthor{#1}}%
+++    \fi
++   \else
++-    \checkenv\titlepage
++-    \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
++-    {\secfonts\rm \leftline{#1}}%
+++    \def\temp{\quotation}%
+++    \ifx\thisenv\temp
+++      \def\quotationauthor{#1}% printed in \Equotation.
+++    \else
+++      \checkenv\titlepage
+++      \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
+++      {\secfonts\rm \leftline{#1}}%
+++    \fi
++   \fi
++ }
++ 
+++% @maketitle
+++{\obeylines
+++\gdef\maketitle{%
+++\titlepage
+++\ifx\savedtitle\empty\else
+++  \title \savedtitle
+++  \ifx\savedsubtitlegroup\empty\else
+++    \savedsubtitlegroup
+++\fi\fi
+++\ifx\savedauthorgroup\empty\else
+++  \savedauthorgroup
+++\fi
+++% start verso page if either copying or publication text is given
+++\ifx\copyingtext\relax
+++  \ifx\publicationtext\relax\else
+++    \page \vskip 0pt plus 1filll
+++  \fi
+++\else
+++  \page \vskip 0pt plus 1filll
+++\fi
+++\ifx\publicationtext\relax\else
+++  \insertpublication
+++  \sp 1
+++\fi
+++\ifx\copyingtext\relax\else
+++  \insertcopying
+++\fi
+++\end titlepage
+++}
+++
+++% \savedauthor{#1}, called with braces.  output an @author line.
+++\gdef\savedauthor#1{%
+++\author#1
+++}
+++
+++% \savedsubtitle{#1}, called with braces.  output a @subtitle line.
+++\gdef\savedsubtitle#1{%
+++\subtitle#1
+++}
+++} % \obeylines
+++
+++% @documentinfo block
+++\envdef\documentinfo{%
+++}
+++\def\Edocumentinfo{}%
+++
++ 
++ % Set up page headings and footings.
++ 
++@@ -4611,7 +4796,7 @@ $$%
++ % Like \expandablevalue, but completely expandable (the \message in the
++ % definition above operates at the execution level of TeX).  Used when
++ % writing to auxiliary files, due to the expansion that \write does.
++-% If flag is undefined, pass through an unexpanded @value command: maybe it
+++% If flag is undefined, pass through an unexpanded @value command: maybe it 
++ % will be set by the time it is read back in.
++ %
++ % NB flag names containing - or _ may not work here.
++@@ -4635,7 +4820,7 @@ $$%
++ 
++ % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
++ % with @set.
++-%
+++% 
++ % To get the special treatment we need for `@end ifset,' we call
++ % \makecond and then redefine.
++ %
++@@ -4668,7 +4853,7 @@ $$%
++ % without the @) is in fact defined.  We can only feasibly check at the
++ % TeX level, so something like `mathcode' is going to considered
++ % defined even though it is not a Texinfo command.
++-%
+++% 
++ \makecond{ifcommanddefined}
++ \def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
++ %
++@@ -4774,7 +4959,7 @@ $$%
++ \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
++ \def\docodeindexxxx #1{\docind{\indexname}{#1}}
++ 
++-
+++\f
++ % \definedummyword defines \#1 as \string\#1\space, thus effectively
++ % preventing its expansion.  This is used only for control words,
++ % not control letters, because the \space would be incorrect for
++@@ -4791,7 +4976,7 @@ $$%
++ \def\definedummyword  #1{\def#1{\string#1\space}}%
++ \def\definedummyletter#1{\def#1{\string#1}}%
++ 
++-% Used for the aux, toc and index files to prevent expansion of Texinfo
+++% Used for the aux, toc and index files to prevent expansion of Texinfo 
++ % commands.  Most of the commands are controlled through the
++ % \ifdummies conditional.
++ %
++@@ -5065,8 +5250,8 @@ $$%
++   %
++   \uccode`\1=`\{ \uppercase{\def\{{1}}%
++   \uccode`\1=`\} \uppercase{\def\}{1}}%
++-  \let\lbracechar\{%
++-  \let\rbracechar\}%
+++  \def\lbracechar##1{\{}%
+++  \def\rbracechar##1{\}}%
++   %
++   %
++   % We need to get rid of all macros, leaving only the arguments (if present).
++@@ -5081,7 +5266,7 @@ $$%
++   \let\value\indexnofontsvalue
++ }
++ 
++-
+++\f
++ 
++ 
++ % #1 is the index name, #2 is the entry text.
++@@ -5122,7 +5307,7 @@ $$%
++   \ifx\suffix\indexisfl\def\suffix{f1}\fi
++   % Open the file
++   \immediate\openout\csname#1indfile\endcsname \jobname.\suffix
++-  % Using \immediate above here prevents an object entering into the current
+++  % Using \immediate above here prevents an object entering into the current 
++   % box, which could confound checks such as those in \safewhatsit for
++   % preceding skips.
++   \typeout{Writing index file \jobname.\suffix}%
++@@ -5174,7 +5359,7 @@ $$%
++   \ifx\segment\isfinish
++   \else
++     %
++-    % Fully expand the segment, throwing away any @sortas directives, and
+++    % Fully expand the segment, throwing away any @sortas directives, and 
++     % trim spaces.
++     \edef\trimmed{\segment}%
++     \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}%
++@@ -5266,7 +5451,7 @@ $$%
++   \def\}{\rbracechar{}}%
++   \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}%
++   %
++-  % Split the entry into primary entry and any subentries, and get the index
+++  % Split the entry into primary entry and any subentries, and get the index 
++   % sort key.
++   \splitindexentry\indextext
++   %
++@@ -5411,6 +5596,8 @@ $$%
++   \tolerance = 9500
++   \plainfrenchspacing
++   \everypar = {}% don't want the \kern\-parindent from indentation suppression.
+++  \let\entry\indexentry
+++  \ifxetex\xetexpreauxfile\fi
++   %
++   % See comment in \requireopenindexfile.
++   \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi
++@@ -5436,8 +5623,12 @@ $$%
++     \fi
++   \fi
++   \closein 1
+++  \ifxetex\xetexpostauxfile\fi
++ \endgroup}
++ 
+++% Checked in @bye
+++\let\byeerror\relax
+++
++ % If the index file starts with a backslash, forgo reading the index
++ % file altogether.  If somebody upgrades texinfo.tex they may still have
++ % old index files using \ as the escape character.  Reading this would
++@@ -5446,19 +5637,21 @@ $$%
++   \ifflagclear{txiindexescapeisbackslash}{%
++     \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1
++       \ifflagclear{txiskipindexfileswithbackslash}{%
++-\errmessage{%
++-ERROR: A sorted index file in an obsolete format was skipped.
+++        % Delay the error message until the very end to give a chance
+++        % for the whole index to be output as input for texindex.
+++        \global\def\byeerror{%
+++ERROR: A sorted index file in an obsolete format was skipped.  
++ To fix this problem, please upgrade your version of 'texi2dvi'
++ or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>.
++-If you are using an old version of 'texindex' (part of the Texinfo
+++If you are using an old version of 'texindex' (part of the Texinfo 
++ distribution), you may also need to upgrade to a newer version (at least 6.0).
++ You may be able to typeset the index if you run
++ 'texindex \jobname.\indexname' yourself.
++-You could also try setting the 'txiindexescapeisbackslash' flag by
+++You could also try setting the 'txiindexescapeisbackslash' flag by 
++ running a command like
++-'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'.  If you do
+++'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'.  If you do 
++ this, Texinfo will try to use index files in the old format.
++-If you continue to have problems, deleting the index files and starting again
+++If you continue to have problems, deleting the index files and starting again 
++ might help (with 'rm \jobname.?? \jobname.??s')%
++ }%
++       }{%
++@@ -5466,7 +5659,9 @@ might help (with 'rm \jobname.?? \jobnam
++       }%
++     \else
++       \begindoublecolumns
+++      \ifxetex\xetexpreauxfile\fi
++       \input \jobname.\indexname s
+++      \ifxetex\xetexpostauxfile\fi
++       \enddoublecolumns
++     \fi
++   }{%
++@@ -5477,11 +5672,39 @@ might help (with 'rm \jobname.?? \jobnam
++     % should work because we (hopefully) don't otherwise use @ in index files.
++     %\catcode`\@=12\relax
++     \catcode`\@=0\relax
+++    \ifxetex\xetexpreauxfile\fi
++     \input \jobname.\indexname s
+++    \ifxetex\xetexpostauxfile\fi
++     \enddoublecolumns
++   }%
++ }
++ 
+++\def\indexentry#1#2{%
+++  \let\entrypagetarget\empty
+++  \ifpdforxetex
+++    % only link the index text to the page if no comma appears in the
+++    % list of pages, i.e. there is only one page
+++    \checkpagelistcomma{#2}\pagelistcomma
+++    \expandafter\ifcase\pagelistcomma
+++      \def\entrypagetarget{#2}%
+++    \fi
+++  \fi%
+++  \entryinternal{#1}{#2}%
+++}
+++
+++\def\checkpagelistcomma#1#2{%
+++  \checkpagelistcommaxx#2#1,\finish
+++}
+++\def\checkpagelistcommaxx#1#2,#3\finish{%
+++  \def\tmp{#3}%
+++  \ifx\tmp\empty
+++    \def#1{0\relax}
+++  \else
+++    \def#1{1\relax}
+++  \fi
+++}
+++
+++
++ % These macros are used by the sorted index file itself.
++ % Change them to control the appearance of the index.
++ 
++@@ -5518,7 +5741,6 @@ might help (with 'rm \jobname.?? \jobnam
++ 
++ \def\initial{%
++   \bgroup
++-  \initialglyphs
++   \initialx
++ }
++ 
++@@ -5531,7 +5753,7 @@ might help (with 'rm \jobname.?? \jobnam
++   % bottom of a column to reduce an increase in inter-line spacing.
++   \nobreak
++   \vskip 0pt plus 5\baselineskip
++-  \penalty -300
+++  \penalty -300 
++   \vskip 0pt plus -5\baselineskip
++   %
++   % Typeset the initial.  Making this add up to a whole number of
++@@ -5541,7 +5763,10 @@ might help (with 'rm \jobname.?? \jobnam
++   %
++   % No shrink because it confuses \balancecolumns.
++   \vskip 1.67\baselineskip plus 1\baselineskip
++-  \leftline{\secfonts \kern-0.05em \secbf #1}%
+++  \doindexinitialentry{#1}%
+++  \initialglyphs
+++  \leftline{%
+++    \secfonts \kern-0.05em \secbf #1}%
++   % \secfonts is inside the argument of \leftline so that the change of
++   % \baselineskip will not affect any glue inserted before the vbox that
++   % \leftline creates.
++@@ -5551,6 +5776,28 @@ might help (with 'rm \jobname.?? \jobnam
++   \egroup % \initialglyphs
++ }
++ 
+++\def\doindexinitialentry#1{%
+++  \ifpdforxetex
+++    \global\advance\idxinitialno by 1
+++    \def\indexlbrace{\{}%
+++    \def\indexrbrace{\}}%
+++    \def\indexbackslash{\realbackslash}%
+++    \def\indexatchar{\@}%
+++    \writetocentry{idxinitial}{\asis #1}{IDX\the\idxinitialno}%
+++    % The @asis removes a pair of braces around e.g. {@indexatchar} that
+++    % are output by texindex.
+++    %
+++    \pdfmkdest{idx.\asis #1.IDX\the\idxinitialno}%
+++  \fi
+++}
+++
+++% No listing in TOC
+++\def\idxinitialentry#1#2#3#4{}
+++
+++% For index initials.
+++\newcount\idxinitialno \idxinitialno=1
+++
+++
++ \newdimen\entryrightmargin
++ \entryrightmargin=0pt
++ 
++@@ -5559,16 +5806,18 @@ might help (with 'rm \jobname.?? \jobnam
++ \newdimen\entrycontskip
++ \entrycontskip=1em
++ 
++-% for PDF output, whether to make the text of the entry a link to the page
++-% number.  set for @contents and @shortcontents where there is only one
++-% page number.
+++% for PDF output, whether to make the text of the entry a link to the section.
+++% set for @contents and @shortcontents.
++ \newif\iflinkentrytext
++ 
++-% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
++-% then page number (#2) flushed to the right margin.  It is used for index
++-% and table of contents entries.  The paragraph is indented by \leftskip.
++-%
++-\def\entry{%
+++% \entryinternal typesets a paragraph consisting of the text (#1), dot
+++% leaders, and then page number (#2) flushed to the right margin.  It is
+++% used for index and table of contents entries.  The paragraph is indented
+++% by \leftskip.
+++% For PDF output, if \linkentrytexttrue and \tocnodetarget is set, link text
+++% to the referenced node.  Else if \entrypagetarget is set, link text to the
+++% page.
+++\def\entryinternal{%
++   \begingroup
++     %
++     % Start a new paragraph if necessary, so our assignments below can't
++@@ -5608,9 +5857,19 @@ might help (with 'rm \jobname.?? \jobnam
++     \global\setbox\boxA=\hbox\bgroup
++       \ifpdforxetex
++         \iflinkentrytext
++-          \pdflinkpage{#1}{\unhbox\boxA}%
+++          \ifx\tocnodetarget\empty
+++            \unhbox\boxA
+++          \else
+++            \startxreflink{\tocnodetarget}{}%
+++            \unhbox\boxA
+++            \endlink
+++          \fi
++         \else
++-          \unhbox\boxA
+++          \ifx\entrypagetarget\empty
+++            \unhbox\boxA
+++          \else
+++            \pdflinkpage{\entrypagetarget}{\unhbox\boxA}%
+++          \fi
++         \fi
++       \else
++         \unhbox\boxA
++@@ -5625,11 +5884,18 @@ might help (with 'rm \jobname.?? \jobnam
++         %
++         \null\nobreak\indexdotfill % Have leaders before the page number.
++         %
+++        \hskip\skip\thinshrinkable
++         \ifpdforxetex
++-          \pdfgettoks#1.%
++-          \hskip\skip\thinshrinkable\the\toksA
+++          \ifx\tocnodetarget\empty
+++            \pdfgettoks#1.%
+++            \the\toksA
+++          \else
+++            % Should just be a single page number in toc
+++            \startxreflink{\tocnodetarget}{}%
+++            #1\endlink
+++          \fi
++         \else
++-          \hskip\skip\thinshrinkable #1%
+++          #1%
++         \fi
++       \fi
++     \egroup % end \boxA
++@@ -5851,7 +6117,7 @@ might help (with 'rm \jobname.?? \jobnam
++ \newbox\balancedcolumns
++ \setbox\balancedcolumns=\vbox{shouldnt see this}%
++ %
++-% Only called for the last of the double column material.  \doublecolumnout
+++% Only called for the last of the double column material.  \doublecolumnout 
++ % does the others.
++ \def\balancecolumns{%
++   \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120.
++@@ -5879,7 +6145,7 @@ might help (with 'rm \jobname.?? \jobnam
++     }%
++     % Now the left column is in box 1, and the right column in box 3.
++     %
++-    % Check whether the left column has come out higher than the page itself.
+++    % Check whether the left column has come out higher than the page itself.  
++     % (Note that we have doubled \vsize for the double columns, so
++     % the actual height of the page is 0.5\vsize).
++     \ifdim2\ht1>\vsize
++@@ -6175,7 +6441,7 @@ might help (with 'rm \jobname.?? \jobnam
++ \let\top\unnumbered
++ 
++ % Sections.
++-%
+++% 
++ \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
++ \def\seczzz#1{%
++   \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
++@@ -6198,7 +6464,7 @@ might help (with 'rm \jobname.?? \jobnam
++ }
++ 
++ % Subsections.
++-%
+++% 
++ % normally calls numberedsubseczzz:
++ \outer\parseargdef\numberedsubsec{\numhead2{#1}}
++ \def\numberedsubseczzz#1{%
++@@ -6222,7 +6488,7 @@ might help (with 'rm \jobname.?? \jobnam
++ }
++ 
++ % Subsubsections.
++-%
+++% 
++ % normally numberedsubsubseczzz:
++ \outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
++ \def\numberedsubsubseczzz#1{%
++@@ -6275,6 +6541,10 @@ might help (with 'rm \jobname.?? \jobnam
++ \parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
++   \suppressfirstparagraphindent}
++ 
+++% @xrefname - give text with printed name for linking to node and allow
+++% referencing node, but do not print any heading.
+++\parseargdef\xrefname{\donoderef{Yomitfromtoc}{#1}}%
+++
++ % These macros generate a chapter, section, etc. heading only
++ % (including whitespace, linebreaking, etc. around it),
++ % given all the information in convenient, parsed form.
++@@ -6396,11 +6666,6 @@ might help (with 'rm \jobname.?? \jobnam
++     \chapfonts \rm
++     \let\footnote=\errfootnoteheading % give better error message
++     %
++-    % Have to define \currentsection before calling \donoderef, because the
++-    % xref code eventually uses it.  On the other hand, it has to be called
++-    % after \pchapsepmacro, or the headline will change too soon.
++-    \gdef\currentsection{#1}%
++-    %
++     % Only insert the separating space if we have a chapter/appendix
++     % number, and don't print the unnumbered ``number''.
++     \ifx\temptype\Ynothingkeyword
++@@ -6427,7 +6692,7 @@ might help (with 'rm \jobname.?? \jobnam
++     % been typeset.  If the destination for the pdf outline is after the
++     % text, then jumping from the outline may wind up with the text not
++     % being visible, for instance under high magnification.
++-    \donoderef{#2}%
+++    \donoderef{#2}{#1}%
++     %
++     % Typeset the actual heading.
++     \nobreak % Avoid page breaks at the interline glue.
++@@ -6543,21 +6808,17 @@ might help (with 'rm \jobname.?? \jobnam
++     \ifx\temptype\Ynothingkeyword
++       \setbox0 = \hbox{}%
++       \def\toctype{unn}%
++-      \gdef\currentsection{#1}%
++     \else\ifx\temptype\Yomitfromtockeyword
++-      % for @headings -- no section number, don't include in toc,
++-      % and don't redefine \currentsection.
+++      % for @headings -- no section number, don't include in toc.
++       \setbox0 = \hbox{}%
++       \def\toctype{omit}%
++       \let\sectionlevel=\empty
++     \else\ifx\temptype\Yappendixkeyword
++       \setbox0 = \hbox{#4\enspace}%
++       \def\toctype{app}%
++-      \gdef\currentsection{#1}%
++     \else
++       \setbox0 = \hbox{#4\enspace}%
++       \def\toctype{num}%
++-      \gdef\currentsection{#1}%
++     \fi\fi\fi
++     %
++     % Write the toc entry (before \donoderef).  See comments in \chapmacro.
++@@ -6565,7 +6826,7 @@ might help (with 'rm \jobname.?? \jobnam
++     %
++     % Write the node reference (= pdf destination for pdftex).
++     % Again, see comments in \chapmacro.
++-    \donoderef{#3}%
+++    \donoderef{#3}{#1}%
++     %
++     % Interline glue will be inserted when the vbox is completed.
++     % That glue will be a valid breakpoint for the page, since it'll be
++@@ -6759,12 +7020,13 @@ might help (with 'rm \jobname.?? \jobnam
++ 
++ % Prepare to read what we've written to \tocfile.
++ %
++-\def\startcontents#1{%
+++\def\startcontents#1#2{%
++   % If @setchapternewpage on, and @headings double, the contents should
++   % start on an odd page, unlike chapters.
++   \contentsalignmacro
++   \immediate\closeout\tocfile
++   %
+++  #2%
++   % Don't need to put `Contents' or `Short Contents' in the headline.
++   % It is abundantly clear what they are.
++   \chapmacro{#1}{Yomitfromtoc}{}%
++@@ -6784,7 +7046,7 @@ might help (with 'rm \jobname.?? \jobnam
++ 
++ % \raggedbottom in plain.tex hardcodes \topskip so override it
++ \catcode`\@=11
++-\def\raggedbottom{\advance\topskip by 0pt plus60pt \r@ggedbottomtrue}
+++\def\raggedbottom{\advance\topskip by 0pt plus30pt \r@ggedbottomtrue}
++ \catcode`\@=\other
++ 
++ % redefined for the two-volume lispref.  We always output on
++@@ -6795,7 +7057,9 @@ might help (with 'rm \jobname.?? \jobnam
++ % Normal (long) toc.
++ %
++ \def\contents{%
++-  \startcontents{\putwordTOC}%
+++  \startcontents{\putwordTOC}{\contentsmkdest}%
+++    \ifxetex\xetexpreauxfile\fi
+++    \penalty2 % mark beginning of contents
++     \openin 1 \tocreadfilename\space
++     \ifeof 1 \else
++       \findsecnowidths
++@@ -6807,13 +7071,18 @@ might help (with 'rm \jobname.?? \jobnam
++       \pdfmakeoutlines
++     \fi
++     \closein 1
+++    \ifxetex\xetexpostauxfile\fi
++   \endgroup
++   \contentsendroman
++ }
++ 
+++\def\contentsmkdest{%
+++  \pdfmkdest{txi.CONTENTS}%
+++}
+++
++ % And just the chapters.
++ \def\summarycontents{%
++-  \startcontents{\putwordShortTOC}%
+++  \startcontents{\putwordShortTOC}{}%
++     %
++     \let\partentry = \shortpartentry
++     \let\numchapentry = \shortchapentry
++@@ -6836,11 +7105,13 @@ might help (with 'rm \jobname.?? \jobnam
++     \let\numsubsubsecentry = \numsecentry
++     \let\appsubsubsecentry = \numsecentry
++     \let\unnsubsubsecentry = \numsecentry
+++    \ifxetex\xetexpreauxfile\fi
++     \openin 1 \tocreadfilename\space
++     \ifeof 1 \else
++       \readtocfile
++     \fi
++     \closein 1
+++    \ifxetex\xetexpostauxfile\fi
++     \vfill \eject
++     \contentsalignmacro % in case @setchapternewpage odd is in effect
++   \endgroup
++@@ -6881,36 +7152,45 @@ might help (with 'rm \jobname.?? \jobnam
++ %   #3 - level of section (e.g "chap", "sec")
++ %   #4 - page number
++ 
++-% Parts, in the main contents.  Replace the part number, which doesn't
++-% exist, with an empty box.  Let's hope all the numbers have the same width.
++-% Also ignore the page number, which is conventionally not printed.
++-\def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}}
+++% Parts, in the main contents.  Ignore the page number, which is
+++% conventionally not printed.
++ \def\partentry#1#2#3#4{%
+++  \ifnum\lastpenalty = 2
+++    % use less space if at very first entry of contents
+++    \vskip 1\baselineskip plus .33\baselineskip minus .25\baselineskip
+++  \else
+++    \vskip 2\baselineskip plus .66\baselineskip minus .5\baselineskip
+++  \fi
++   % Add stretch and a bonus for breaking the page before the part heading.
++   % This reduces the chance of the page being broken immediately after the
++   % part heading, before a following chapter heading.
++-  \vskip 0pt plus 5\baselineskip
+++  \vskip 0pt plus 3\baselineskip
++   \penalty-300
++-  \vskip 0pt plus -5\baselineskip
++-  \dochapentry{#1}{\numeralbox}{}%
+++  \vskip 0pt plus -3\baselineskip
+++  \begingroup
+++    \secfonts \rm
+++    \entryinternal{#1}{}%
+++  \endgroup
+++  \afterpartentrytrue
++ }
+++\newif\ifafterpartentry
++ %
++ % Parts, in the short toc.
++ \def\shortpartentry#1#2#3#4{%
++   \penalty-300
++   \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip
++-  \shortchapentry{{\bf #1}}{\numeralbox}{}{}%
+++  \tocentry{{\bf #1}}{}{}{}%
++ }
++ 
++ % Chapters, in the main contents.
++ \def\numchapentry#1#2#3#4{%
++   \retrievesecnowidth\secnowidthchap{#2}%
++-  \dochapentry{#1}{#2}{#4}%
+++  \dochapentry{#1}{#2}{#3}{#4}%
++ }
++ 
++ % Chapters, in the short toc.
++ \def\shortchapentry#1#2#3#4{%
++-  \tocentry{#1}{\shortchaplabel{#2}}{#4}%
+++  \tocentry{#1}{\shortchaplabel{#2}}{#3}{#4}%
++ }
++ 
++ % Appendices, in the main contents.
++@@ -6923,79 +7203,83 @@ might help (with 'rm \jobname.?? \jobnam
++ %
++ \def\appentry#1#2#3#4{%
++   \retrievesecnowidth\secnowidthchap{#2}%
++-  \dochapentry{\appendixbox{#2}\hskip.7em#1}{}{#4}%
+++  \dochapentry{\appendixbox{#2}\hskip.7em#1}{}{#3}{#4}%
++ }
++ 
++ % Unnumbered chapters.
++-\def\unnchapentry#1#2#3#4{\dochapentry{#1}{}{#4}}
++-\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{}{#4}}
+++\def\unnchapentry#1#2#3#4{\dochapentry{#1}{}{#3}{#4}}
+++\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{}{#3}{#4}}
++ 
++ % Sections.
++-\def\numsecentry#1#2#3#4{\dosecentry{#1}{#2}{#4}}
++-
++ \def\numsecentry#1#2#3#4{%
++   \retrievesecnowidth\secnowidthsec{#2}%
++-  \dosecentry{#1}{#2}{#4}%
+++  \dosecentry{#1}{#2}{#3}{#4}%
++ }
++ \let\appsecentry=\numsecentry
++ \def\unnsecentry#1#2#3#4{%
++   \retrievesecnowidth\secnowidthsec{#2}%
++-  \dosecentry{#1}{}{#4}%
+++  \dosecentry{#1}{}{#3}{#4}%
++ }
++ 
++ % Subsections.
++ \def\numsubsecentry#1#2#3#4{%
++   \retrievesecnowidth\secnowidthssec{#2}%
++-  \dosubsecentry{#1}{#2}{#4}%
+++  \dosubsecentry{#1}{#2}{#3}{#4}%
++ }
++ \let\appsubsecentry=\numsubsecentry
++ \def\unnsubsecentry#1#2#3#4{%
++   \retrievesecnowidth\secnowidthssec{#2}%
++-  \dosubsecentry{#1}{}{#4}%
+++  \dosubsecentry{#1}{}{#3}{#4}%
++ }
++ 
++ % And subsubsections.
++-\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#2}{#4}}
+++\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#2}{#3}{#4}}
++ \let\appsubsubsecentry=\numsubsubsecentry
++-\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{}{#4}}
+++\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{}{#3}{#4}}
++ 
++ % This parameter controls the indentation of the various levels.
++ % Same as \defaultparindent.
++ \newdimen\tocindent \tocindent = 15pt
++ 
++ % Now for the actual typesetting. In all these, #1 is the text, #2 is
++-% a section number if present, and #3 is the page number.
+++% a section number if present, #3 is the node, and #4 is the page number.
++ %
++ % If the toc has to be broken over pages, we want it to be at chapters
++ % if at all possible; hence the \penalty.
++-\def\dochapentry#1#2#3{%
++-   \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
+++\def\dochapentry#1#2#3#4{%
+++   \ifafterpartentry
+++     \afterpartentryfalse
+++     \penalty5000
+++   \else
+++     \penalty-300
+++   \fi
+++   \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
++    \begingroup
++      % Move the page numbers slightly to the right
++      \advance\entryrightmargin by -0.05em
++      \chapentryfonts
++      \extrasecnoskip=0.4em % separate chapter number more
++-     \tocentry{#1}{#2}{#3}%
+++     \tocentry{#1}{#2}{#3}{#4}%
++    \endgroup
++    \nobreak\vskip .25\baselineskip plus.1\baselineskip
++ }
++ 
++-\def\dosecentry#1#2#3{\begingroup
+++\def\dosecentry#1#2#3#4{\begingroup
++   \secnowidth=\secnowidthchap
++   \secentryfonts \leftskip=\tocindent
++-  \tocentry{#1}{#2}{#3}%
+++  \tocentry{#1}{#2}{#3}{#4}%
++ \endgroup}
++ 
++-\def\dosubsecentry#1#2#3{\begingroup
+++\def\dosubsecentry#1#2#3#4{\begingroup
++   \secnowidth=\secnowidthsec
++   \subsecentryfonts \leftskip=2\tocindent
++-  \tocentry{#1}{#2}{#3}%
+++  \tocentry{#1}{#2}{#3}{#4}%
++ \endgroup}
++ 
++-\def\dosubsubsecentry#1#2#3{\begingroup
+++\def\dosubsubsecentry#1#2#3#4{\begingroup
++   \secnowidth=\secnowidthssec
++   \subsubsecentryfonts \leftskip=3\tocindent
++-  \tocentry{#1}{#2}{#3}%
+++  \tocentry{#1}{#2}{#3}{#4}%
++ \endgroup}
++ 
++ % Used for the maximum width of a section number so we can align
++@@ -7005,12 +7289,16 @@ might help (with 'rm \jobname.?? \jobnam
++ \newdimen\extrasecnoskip
++ \extrasecnoskip=0pt
++ 
++-% \tocentry{TITLE}{SEC NO}{PAGE}
+++\let\tocnodetarget\empty
+++\let\entrypagetarget\empty
+++
+++% \tocentry{TITLE}{SEC NO}{NODE}{PAGE}
++ %
++-\def\tocentry#1#2#3{%
+++\def\tocentry#1#2#3#4{%
+++  \def\tocnodetarget{#3}%
++   \def\secno{#2}%
++   \ifx\empty\secno
++-    \entry{#1}{#3}%
+++    \entryinternal{#1}{#4}%
++   \else
++     \ifdim 0pt=\secnowidth
++       \setbox0=\hbox{#2\hskip\labelspace\hskip\extrasecnoskip}%
++@@ -7021,7 +7309,7 @@ might help (with 'rm \jobname.?? \jobnam
++         #2\hskip\labelspace\hskip\extrasecnoskip\hfill}%
++     \fi
++     \entrycontskip=\wd0
++-    \entry{\box0 #1}{#3}%
+++    \entryinternal{\box0 #1}{#4}%
++   \fi
++ }
++ \newdimen\labelspace
++@@ -7406,7 +7694,7 @@ might help (with 'rm \jobname.?? \jobnam
++ 
++ % @indentedblock is like @quotation, but indents only on the left and
++ % has no optional argument.
++-%
+++% 
++ \makedispenvdef{indentedblock}{\indentedblockstart}
++ %
++ \def\indentedblockstart{%
++@@ -7594,6 +7882,7 @@ might help (with 'rm \jobname.?? \jobnam
++ {\catcode`\ =\other
++ \gdef\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
++ }
+++\let\copyingtext\relax
++ 
++ \def\insertcopying{%
++   \begingroup
++@@ -7602,6 +7891,18 @@ might help (with 'rm \jobname.?? \jobnam
++   \endgroup
++ }
++ 
+++\def\publication{\checkenv{}\begingroup\macrobodyctxt\dopublication}
+++{\catcode`\ =\other
+++\gdef\dopublication#1@end publication{\endgroup\def\publicationtext{#1}}
+++}
+++\let\publicationtext\relax
+++
+++\def\insertpublication{%
+++  \begingroup
+++    \parindent = 0pt  % paragraph indentation looks wrong on title page
+++    \scanexp\publicationtext
+++  \endgroup
+++}
++ 
++ \message{defuns,}
++ % @defun etc.
++@@ -7720,7 +8021,7 @@ might help (with 'rm \jobname.?? \jobnam
++ % @deftypefnnewline on|off says whether the return type of typed functions
++ % are printed on their own line.  This affects @deftypefn, @deftypefun,
++ % @deftypeop, and @deftypemethod.
++-%
+++% 
++ \parseargdef\deftypefnnewline{%
++   \def\temp{#1}%
++   \ifx\temp\onword
++@@ -7890,7 +8191,7 @@ might help (with 'rm \jobname.?? \jobnam
++       \tclose{\temp}% typeset the return type
++       \ifrettypeownline
++         % put return type on its own line; prohibit line break following:
++-        \hfil\vadjust{\nobreak}\break
+++        \hfil\vadjust{\nobreak}\break  
++       \else
++         \space  % type on same line, so just followed by a space
++       \fi
++@@ -7901,7 +8202,7 @@ might help (with 'rm \jobname.?? \jobnam
++     {\rm\enskip}% hskip 0.5 em of \rmfont
++   }{}%
++   %
++-  \boldbrax
+++  \parenbrackglyphs
++   % arguments will be output next, if any.
++ }
++ 
++@@ -7911,7 +8212,10 @@ might help (with 'rm \jobname.?? \jobnam
++     \def\^^M{}% for line continuation
++     \df \ifdoingtypefn \tt \else \sl \fi
++     \ifflagclear{txicodevaristt}{}%
++-       {\def\var##1{{\setregularquotes \ttsl ##1}}}%
+++       % use \ttsl for @var in both @def* and @deftype*.
+++       % the kern prevents an italic correction at end, which appears
+++       % too much for ttsl.
+++       {\def\var##1{{\setregularquotes \ttsl ##1\kern 0pt }}}%
++     #1%
++   \egroup
++ }
++@@ -7928,8 +8232,9 @@ might help (with 'rm \jobname.?? \jobnam
++ \let\lparen = ( \let\rparen = )
++ 
++ % Be sure that we always have a definition for `(', etc.  For example,
++-% if the fn name has parens in it, \boldbrax will not be in effect yet,
++-% so TeX would otherwise complain about undefined control sequence.
+++% if the fn name has parens in it, \parenbrackglyphs will not be in
+++% effect yet, so TeX would otherwise complain about undefined control
+++% sequence.
++ {
++   \activeparens
++   \gdef\defcharsdefault{%
++@@ -7939,49 +8244,28 @@ might help (with 'rm \jobname.?? \jobnam
++   }
++   \globaldefs=1 \defcharsdefault
++ 
++-  \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
+++  \gdef\parenbrackglyphs{\let(=\opnr\let)=\cpnr\let[=\lbrb\let]=\rbrb}
++   \gdef\magicamp{\let&=\amprm}
++ }
++ \let\ampchar\&
++ 
++-\newcount\parencount
++-
++-% If we encounter &foo, then turn on ()-hacking afterwards
++-\newif\ifampseen
++-\def\amprm#1 {\ampseentrue{\rm\&#1 }}
++-
++-\def\parenfont{%
++-  \ifampseen
++-    % At the first level, print parens in roman,
++-    % otherwise use the default font.
++-    \ifnum \parencount=1 \rm \fi
++-  \else
++-    % The \sf parens (in \boldbrax) actually are a little bolder than
++-    % the contained text.  This is especially needed for [ and ] .
++-    \sf
++-  \fi
++-}
++-\def\infirstlevel#1{%
++-  \ifampseen
++-    \ifnum\parencount=1
++-      #1%
++-    \fi
++-  \fi
++-}
++-\def\bfafterword#1 {#1 \bf}
+++\def\amprm#1 {{\rm\&#1 }}
++ 
+++\newcount\parencount
+++% opening and closing parentheses in roman font
++ \def\opnr{%
+++  \ptexslash % italic correction
++   \global\advance\parencount by 1
++-  {\parenfont(}%
++-  \infirstlevel \bfafterword
+++  {\sf(}%
++ }
++-\def\clnr{%
++-  {\parenfont)}%
++-  \infirstlevel \sl
+++\def\cpnr{%
+++  \ptexslash % italic correction
+++  {\sf)}%
++   \global\advance\parencount by -1
++ }
++ 
++ \newcount\brackcount
+++% left and right square brackets in bold font
++ \def\lbrb{%
++   \global\advance\brackcount by 1
++   {\bf[}%
++@@ -8023,24 +8307,17 @@ might help (with 'rm \jobname.?? \jobnam
++   }
++ \fi
++ 
++-\let\E=\expandafter
++-
++ % Used at the time of macro expansion.
++ % Argument is macro body with arguments substituted
++ \def\scanmacro#1{%
++   \newlinechar`\^^M
++-  % expand the expansion of \eatleadingcr twice to maybe remove a leading
++-  % newline (and \else and \fi tokens), then call \eatspaces on the result.
++-  \def\xeatspaces##1{%
++-    \E\E\E\E\E\E\E\eatspaces\E\E\E\E\E\E\E{\eatleadingcr##1%
++-  }}%
++-  \def\xempty##1{}%
+++  \def\xeatspaces##1{\eatleadingcrthen\eatspaces{##1}}%
++   %
++   % Process the macro body under the current catcode regime.
++   \scantokens{#1@comment}%
++   %
++   % The \comment is to remove the \newlinechar added by \scantokens, and
++-  % can be noticed by \parsearg.  Note \c isn't used because this means cedilla
+++  % can be noticed by \parsearg.  Note \c isn't used because this means cedilla 
++   % in math mode.
++ }
++ 
++@@ -8087,10 +8364,12 @@ might help (with 'rm \jobname.?? \jobnam
++ \unbrace{\gdef\trim@@@ #1 } #2@{#1}
++ }
++ 
++-{\catcode`\^^M=\other%
++-\gdef\eatleadingcr#1{\if\noexpand#1\noexpand^^M\else\E#1\fi}}%
++-% Warning: this won't work for a delimited argument
++-% or for an empty argument
+++% Trim a single leading ^^M off a string, then call #1
+++{\catcode`\^^M=\active \catcode`\Q=3%
+++\gdef\eatleadingcrthen #1#2{\eatlcra #1Q#2Q^^MQ}%
+++\gdef\eatlcra #1#2Q^^M{\eatlcrb #1#2Q}%
+++\gdef\eatlcrb #1Q#2Q#3Q{#1{#2}}%
+++}
++ 
++ % Trim a single trailing ^^M off a string.
++ {\catcode`\^^M=\other \catcode`\Q=3%
++@@ -8226,6 +8505,10 @@ might help (with 'rm \jobname.?? \jobnam
++ % <parameter list> is #, then the preceding argument is delimited by
++ % an opening brace, and that opening brace is not consumed.
++ 
+++% Make @ a letter, so that we can make private-to-Texinfo macro names.
+++\edef\texiatcatcode{\the\catcode`\@}
+++\catcode `@=11\relax
+++
++ % Parse the optional {params} list to @macro or @rmacro.
++ % Set \paramno to the number of arguments,
++ % and \paramlist to a parameter text for the macro (e.g. #1,#2,#3 for a
++@@ -8233,19 +8516,18 @@ might help (with 'rm \jobname.?? \jobnam
++ % list to some hook where the argument is to be expanded.  If there are
++ % less than 10 arguments that hook is to be replaced by ##N where N
++ % is the position in that list, that is to say the macro arguments are to be
++-% defined `a la TeX in the macro body.
+++% defined `a la TeX in the macro body.  
++ %
++ % That gets used by \mbodybackslash (above).
++ %
++ % If there are 10 or more arguments, a different technique is used: see
++-% \parsemmanyargdef.
+++% \parsemmanyargdef@@.
++ %
++ \def\parsemargdef#1;{%
++   \paramno=0\def\paramlist{}%
++   \let\hash\relax
++   % \hash is redefined to `#' later to get it into definitions
++   \let\xeatspaces\relax
++-  \let\xempty\relax
++   \parsemargdefxxx#1,;,%
++   \ifnum\paramno<10\relax\else
++     \paramno0\relax
++@@ -8257,29 +8539,25 @@ might help (with 'rm \jobname.?? \jobnam
++   \else \let\next=\parsemargdefxxx
++     \advance\paramno by 1
++     \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
++-        {\xeatspaces{\hash\the\paramno\noexpand\xempty{}}}%
+++        {\xeatspaces{\hash\the\paramno}}%
++     \edef\paramlist{\paramlist\hash\the\paramno,}%
++   \fi\next}
++-% the \xempty{} is to give \eatleadingcr an argument in the case of an
++-% empty macro argument.
++ 
++ % \parsemacbody, \parsermacbody
++ %
++ % Read recursive and nonrecursive macro bodies. (They're different since
++ % rec and nonrec macros end differently.)
++-%
+++% 
++ % We are in \macrobodyctxt, and the \xdef causes backslashes in the macro
++ % body to be transformed.
++ % Set \macrobody to the body of the macro, and call \macrodef.
++ %
+++\catcode `\@\texiatcatcode
++ {\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{%
++ \xdef\macrobody{\eatcr{#1}}\endgroup\macrodef}}%
++ {\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{%
++ \xdef\macrobody{\eatcr{#1}}\endgroup\macrodef}}%
++-
++-% Make @ a letter, so that we can make private-to-Texinfo macro names.
++-\edef\texiatcatcode{\the\catcode`\@}
++-\catcode `@=11\relax
+++\catcode `\@=11\relax
++ 
++ %%%%%%%%%%%%%% Code for > 10 arguments only   %%%%%%%%%%%%%%%%%%
++ 
++@@ -8302,7 +8580,7 @@ might help (with 'rm \jobname.?? \jobnam
++ % twice the \macarg.BLAH macros does not cost too much processing power.
++ \def\parsemmanyargdef@@#1,{%
++   \if#1;\let\next=\relax
++-  \else
+++  \else 
++     \let\next=\parsemmanyargdef@@
++     \edef\tempb{\eatspaces{#1}}%
++     \expandafter\def\expandafter\tempa
++@@ -8387,7 +8665,7 @@ might help (with 'rm \jobname.?? \jobnam
++ 
++ % Replace arguments by their values in the macro body, and place the result
++ % in macro \@tempa.
++-%
+++% 
++ \def\macvalstoargs@{%
++   %  To do this we use the property that token registers that are \the'ed
++   % within an \edef  expand only once. So we are going to place all argument
++@@ -8411,9 +8689,9 @@ might help (with 'rm \jobname.?? \jobnam
++   \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
++   }
++ 
++-% Define the named-macro outside of this group and then close this group.
++-%
++-\def\macargexpandinbody@{%
+++% Define the named-macro outside of this group and then close this group. 
+++% 
+++\def\macargexpandinbody@{% 
++   \expandafter
++   \endgroup
++   \macargdeflist@
++@@ -8451,7 +8729,7 @@ might help (with 'rm \jobname.?? \jobnam
++ }
++ 
++ % Trailing missing arguments are set to empty.
++-%
+++% 
++ \def\setemptyargvalues@{%
++   \ifx\paramlist\nilm@
++     \let\next\macargexpandinbody@
++@@ -8511,7 +8789,7 @@ might help (with 'rm \jobname.?? \jobnam
++     \expandafter\xdef\csname\the\macname\endcsname{%
++       \begingroup
++         \noexpand\spaceisspace
++-        \noexpand\endlineisspace
+++        \noexpand\ignoreactivenewline
++         \noexpand\expandafter % skip any whitespace after the macro name.
++         \expandafter\noexpand\csname\the\macname @@@\endcsname}%
++     \expandafter\xdef\csname\the\macname @@@\endcsname{%
++@@ -8529,7 +8807,7 @@ might help (with 'rm \jobname.?? \jobnam
++   \else % at most 9
++     \ifnum\paramno<10\relax
++       % @MACNAME sets the context for reading the macro argument
++-      % @MACNAME@@ gets the argument, processes backslashes and appends a
+++      % @MACNAME@@ gets the argument, processes backslashes and appends a 
++       % comma.
++       % @MACNAME@@@ removes braces surrounding the argument list.
++       % @MACNAME@@@@ scans the macro body with arguments substituted.
++@@ -8540,15 +8818,13 @@ might help (with 'rm \jobname.?? \jobnam
++         \noexpand\expandafter
++         \expandafter\noexpand\csname\the\macname @@\endcsname}%
++       \expandafter\xdef\csname\the\macname @@\endcsname##1{%
++-          \noexpand\passargtomacro
++-          \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}%
+++        \noexpand\passargtomacro
+++        \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}%
++       \expandafter\xdef\csname\the\macname @@@\endcsname##1{%
++-          \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}%
++-      \expandafter\expandafter
++-      \expandafter\xdef
++-      \expandafter\expandafter
++-        \csname\the\macname @@@@\endcsname\paramlist{%
++-          \endgroup\noexpand\scanmacro{\macrobody}}%
+++        \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}%
+++      \expandaftergroup{\expandafter\xdef\csname\the\macname @@@@\endcsname}%
+++                       \paramlist{%
+++        \endgroup\noexpand\scanmacro{\macrobody}}%
++     \else % 10 or more:
++       \expandafter\xdef\csname\the\macname\endcsname{%
++         \noexpand\getargvals@{\the\macname}{\argl}%
++@@ -8560,6 +8836,16 @@ might help (with 'rm \jobname.?? \jobnam
++ 
++ \catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes
++ 
+++% utility definition to avoid excessive use of \expandafter.  call
+++% as \expandaftergroup{CONTENT}\WORD to expand \WORD exactly once and remove
+++% braces around CONTENT.
+++\def\expandaftergroup#1#2{%
+++  \expandafter\expandaftergroupx\expandafter{#2}{#1}%
+++}
+++\def\expandaftergroupx#1#2{%
+++  #2#1%
+++}
+++
++ \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
++ 
++ 
++@@ -8573,11 +8859,11 @@ might help (with 'rm \jobname.?? \jobnam
++ % Call #1 with a list of tokens #2, with any doubled backslashes in #2
++ % compressed to one.
++ %
++-% This implementation works by expansion, and not execution (so we cannot use
++-% \def or similar).  This reduces the risk of this failing in contexts where
++-% complete expansion is done with no execution (for example, in writing out to
+++% This implementation works by expansion, and not execution (so we cannot use 
+++% \def or similar).  This reduces the risk of this failing in contexts where 
+++% complete expansion is done with no execution (for example, in writing out to 
++ % an auxiliary file for an index entry).
++-%
+++% 
++ % State is kept in the input stream: the argument passed to
++ % @look_ahead, @gobble_and_check_finish and @add_segment is
++ %
++@@ -8599,11 +8885,11 @@ might help (with 'rm \jobname.?? \jobnam
++ % #3 - NEXT_TOKEN
++ % #4 used to look ahead
++ %
++-% If the next token is not a backslash, process the rest of the argument;
+++% If the next token is not a backslash, process the rest of the argument; 
++ % otherwise, remove the next token.
++ @gdef@look_ahead#1!#2#3#4{%
++   @ifx#4\%
++-   @expandafter@gobble_and_check_finish
+++   @expandafter@gobble_and_check_finish 
++   @else
++    @expandafter@add_segment
++   @fi#1!{#2}#4#4%
++@@ -8627,9 +8913,9 @@ might help (with 'rm \jobname.?? \jobnam
++ % #3 - NEXT_TOKEN
++ % #4 is input stream until next backslash
++ %
++-% Input stream is either at the start of the argument, or just after a
++-% backslash sequence, either a lone backslash, or a doubled backslash.
++-% NEXT_TOKEN contains the first token in the input stream: if it is \finish,
+++% Input stream is either at the start of the argument, or just after a 
+++% backslash sequence, either a lone backslash, or a doubled backslash.  
+++% NEXT_TOKEN contains the first token in the input stream: if it is \finish, 
++ % finish; otherwise, append to ARG_RESULT the segment of the argument up until
++ % the next backslash.  PENDING_BACKSLASH contains a backslash to represent
++ % a backslash just before the start of the input stream that has not been
++@@ -8641,13 +8927,13 @@ might help (with 'rm \jobname.?? \jobnam
++   % append the pending backslash to the result, followed by the next segment
++   @expandafter@is_fi@look_ahead#1#2#4!{\}@fi
++   % this @fi is discarded by @look_ahead.
++-  % we can't get rid of it with \expandafter because we don't know how
+++  % we can't get rid of it with \expandafter because we don't know how 
++   % long #4 is.
++ }
++ 
++ % #1 - THE_MACRO
++ % #2 - ARG_RESULT
++-% #3 discards the res of the conditional in @add_segment, and @is_fi ends the
+++% #3 discards the res of the conditional in @add_segment, and @is_fi ends the 
++ % conditional.
++ @gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}}
++ 
++@@ -8659,7 +8945,7 @@ might help (with 'rm \jobname.?? \jobnam
++ % for reading the argument (slightly different in the two cases).  Then,
++ % to read the argument, in the whole-line case, it then calls the regular
++ % \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC.
++-%
+++% 
++ \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
++ \def\braceorlinexxx{%
++   \ifx\nchar\bgroup
++@@ -8729,9 +9015,8 @@ might help (with 'rm \jobname.?? \jobnam
++     \expandafter\noexpand
++     \csname\the\macname @@@\endcsname##1\noexpand\endlinemacro
++   }
++-  \expandafter\expandafter
++-  \expandafter\xdef
++-  \expandafter\expandafter\csname\the\macname @@@\endcsname\paramlist{%
+++  \expandaftergroup{\expandafter\xdef\csname\the\macname @@@\endcsname}%
+++                     \paramlist{%
++     \newlinechar=13 % split \macrobody into lines
++     \noexpand\scantokens{\macrobody}%
++   }
++@@ -8782,7 +9067,7 @@ might help (with 'rm \jobname.?? \jobnam
++ 
++ % Used so that the @top node doesn't have to be wrapped in an @ifnottex
++ % conditional.
++-% \doignore goes to more effort to skip nested conditionals but we don't need
+++% \doignore goes to more effort to skip nested conditionals but we don't need 
++ % that here.
++ \def\omittopnode{%
++    \ifx\lastnode\wordTop
++@@ -8806,14 +9091,19 @@ might help (with 'rm \jobname.?? \jobnam
++ \let\lastnode=\empty
++ 
++ % Write a cross-reference definition for the current node.  #1 is the
++-% type (Ynumbered, Yappendix, Ynothing).
+++% type (Ynumbered, Yappendix, Ynothing).  #2 is the section title.
++ %
++-\def\donoderef#1{%
+++\def\donoderef#1#2{%
++   \ifx\lastnode\empty\else
++-    \setref{\lastnode}{#1}%
+++    \setref{\lastnode}{#1}{#2}%
++     \global\let\lastnode=\empty
+++    \setnodeseenonce
++   \fi
++ }
+++\def\setnodeseenonce{
+++  \global\nodeseentrue
+++  \let\setnodeseenonce\relax
+++}
++ 
++ % @nodedescription, @nodedescriptionblock - do nothing for TeX
++ \parseargdef\nodedescription{}
++@@ -8826,21 +9116,28 @@ might help (with 'rm \jobname.?? \jobnam
++ %
++ \def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
++ \def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
++-\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
+++\def\anchor#1{%
+++  \savesf \setref{#1}{Yanchor}{#1}\restoresf \ignorespaces
+++}
+++
+++% @namedanchor{NAME, XREFNAME} -- define xref target at arbitrary point
+++% with label text for cross-references to it.
+++\def\namedanchor#1{\donamedanchor#1\finish}%
+++\def\donamedanchor#1,#2\finish{%
+++  \savesf \setref{#1}{Yanchor}{\ignorespaces #2\unskip}\restoresf \ignorespaces
+++}
++ 
++-% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
++-% anchor), which consists of three parts:
++-% 1) NAME-title - the current sectioning name taken from \currentsection,
++-%                 or the anchor name.
++-% 2) NAME-snt   - section number and type, passed as the SNT arg, or
++-%                 empty for anchors.
+++% \setref{NAME}{SNT}{TITLE} defines a cross-reference point NAME (a node
+++% or an anchor), which consists of three parts:
+++% 1) NAME-title - the current sectioning name
+++% 2) NAME-snt   - section number and type, passed as the SNT arg.
++ % 3) NAME-pg    - the page number.
++ %
++ % This is called from \donoderef, \anchor, and \dofloat.  In the case of
++ % floats, there is an additional part, which is not written here:
++ % 4) NAME-lof   - the text as it should appear in a @listoffloats.
++ %
++-\def\setref#1#2{%
+++\def\setref#1#2#3{%
++   \pdfmkdest{#1}%
++   \iflinks
++     {%
++@@ -8852,7 +9149,7 @@ might help (with 'rm \jobname.?? \jobnam
++      \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
++        ##1}{##2}}% these are parameters of \writexrdef
++       }%
++-      \toks0 = \expandafter{\currentsection}%
+++      \toks0 = {#3}%
++       \immediate \writexrdef{title}{\the\toks0 }%
++       \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
++       \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout
++@@ -8864,7 +9161,7 @@ might help (with 'rm \jobname.?? \jobnam
++ % automatically in xrefs, if the third arg is not explicitly specified.
++ % This was provided as a "secret" @set xref-automatic-section-title
++ % variable, now it's official.
++-%
+++% 
++ \parseargdef\xrefautomaticsectiontitle{%
++   \def\temp{#1}%
++   \ifx\temp\onword
++@@ -8880,7 +9177,7 @@ might help (with 'rm \jobname.?? \jobnam
++   \fi\fi
++ }
++ 
++-%
+++% \f
++ % @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
++ % the node name, #2 the name of the Info cross-reference, #3 the printed
++ % node name, #4 the name of the Info file, #5 the name of the printed
++@@ -8906,15 +9203,7 @@ might help (with 'rm \jobname.?? \jobnam
++   \setbox\infofilenamebox = \hbox{\infofilename\unskip}%
++   %
++   \startxreflink{#1}{#4}%
++-  {%
++-    % Have to otherify everything special to allow the \csname to
++-    % include an _ in the xref name, etc.
++-    \indexnofonts
++-    \turnoffactive
++-    \def\value##1{##1}%
++-    \expandafter\global\expandafter\let\expandafter\Xthisreftitle
++-      \csname XR#1-title\endcsname
++-  }%
+++  \getrefx{#1-title}\Xthisreftitle
++   %
++   % Float references are printed completely differently: "Figure 1.2"
++   % instead of "[somenode], p.3".  \iffloat distinguishes them by
++@@ -8947,21 +9236,23 @@ might help (with 'rm \jobname.?? \jobnam
++       % Cross-manual reference with a printed manual name.
++       %
++       \crossmanualxref{\cite{\printedmanual\unskip}}%
++-    %
++     \else\ifdim \wd\infofilenamebox > 0pt
++       % Cross-manual reference with only an info filename (arg 4), no
++       % printed manual name (arg 5).  This is essentially the same as
++       % the case above; we output the filename, since we have nothing else.
++       %
++       \crossmanualxref{\code{\infofilename\unskip}}%
++-    %
++     \else
++       % Reference within this manual.
++       %
++-      % Only output a following space if the -snt ref is nonempty, as the ref
++-      % will be empty for @unnumbered and @anchor.
++-      \setbox2 = \hbox{\ignorespaces \refx{#1-snt}}%
++-      \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
+++      % Only output a following space if the -snt ref is nonempty, as is
+++      % the case for @unnumbered and @anchor.
+++      \getrefx{#1-snt}\tmp
+++      \ifx\tmp\empty\else
+++        \ifx\tmp\Yanchor\else
+++          \tmp\space
+++        \fi
+++      \fi
++       %
++       % output the `[mynode]' via the macro below so it can be overridden.
++       \xrefprintnodename\printedrefname
++@@ -9017,7 +9308,7 @@ might help (with 'rm \jobname.?? \jobnam
++         \else
++           % Otherwise just copy the Info node name.
++           \def\printedrefname{\ignorespaces #1}%
++-        \fi%
+++        \fi
++       \fi
++     \fi
++   \fi
++@@ -9049,7 +9340,7 @@ might help (with 'rm \jobname.?? \jobnam
++        \ifnum\filenamelength>0
++          goto file{\the\filename.pdf} name{\pdfdestname}%
++        \else
++-         goto name{\pdfmkpgn{\pdfdestname}}%
+++         goto name{\pdfdestname}%
++        \fi
++      \else % XeTeX
++        \ifnum\filenamelength>0
++@@ -9078,20 +9369,20 @@ might help (with 'rm \jobname.?? \jobnam
++   \space\putwordpage\tie\refx{#1-pg}}
++ 
++ % Output a cross-manual xref to #1.  Used just above (twice).
++-%
+++% 
++ % Only include the text "Section ``foo'' in" if the foo is neither
++ % missing or Top.  Thus, @xref{,,,foo,The Foo Manual} outputs simply
++ % "see The Foo Manual", the idea being to refer to the whole manual.
++-%
+++% 
++ % But, this being TeX, we can't easily compare our node name against the
++ % string "Top" while ignoring the possible spaces before and after in
++ % the input.  By adding the arbitrary 7sp below, we make it much less
++ % likely that a real node name would have the same width as "Top" (e.g.,
++ % in a monospaced font).  Hopefully it will never happen in practice.
++-%
+++% 
++ % For the same basic reason, we retypeset the "Top" at every
++ % reference, since the current font is indeterminate.
++-%
+++% 
++ \def\crossmanualxref#1{%
++   \setbox\toprefbox = \hbox{Top\kern7sp}%
++   \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
++@@ -9129,6 +9420,7 @@ might help (with 'rm \jobname.?? \jobnam
++ %
++ \def\Ynothing{}
++ \def\Yomitfromtoc{}
+++\def\Yanchor{\isanchor} \let\isanchor\relax
++ \def\Ynumbered{%
++   \ifnum\secno=0
++     \putwordChapter@tie \the\chapno
++@@ -9155,14 +9447,7 @@ might help (with 'rm \jobname.?? \jobnam
++ 
++ % \refx{NAME} - reference a cross-reference string named NAME.
++ \def\refx#1{%
++-  \requireauxfile
++-  {%
++-    \indexnofonts
++-    \turnoffactive
++-    \def\value##1{##1}%
++-    \expandafter\global\expandafter\let\expandafter\thisrefX
++-      \csname XR#1\endcsname
++-  }%
+++  \getrefx{#1}\thisrefX
++   \ifx\thisrefX\relax
++     % If not defined, say something at least.
++     \angleleft un\-de\-fined\angleright
++@@ -9183,9 +9468,20 @@ might help (with 'rm \jobname.?? \jobnam
++   \fi
++ }
++ 
++-% This is the macro invoked by entries in the aux file.  Define a control
++-% sequence for a cross-reference target (we prepend XR to the control sequence
++-% name to avoid collisions).  The value is the page number.  If this is a float
+++% Set #2 to xref string #1
+++\def\getrefx#1#2{%
+++  \requireauxfile
+++  {%
+++    \indexnofonts
+++    \turnoffactive
+++    \def\value##1{##1}%
+++    \expandafter\global\expandafter\let\expandafter#2\csname XR#1\endcsname
+++  }%
+++}
+++
+++% This is the macro invoked by entries in the aux file.  Define a control 
+++% sequence for a cross-reference target (we prepend XR to the control sequence 
+++% name to avoid collisions).  The value is the page number.  If this is a float 
++ % type, we have more work to do.
++ %
++ \def\xrdef#1#2{%
++@@ -9201,10 +9497,10 @@ might help (with 'rm \jobname.?? \jobnam
++   \bgroup
++     \expandafter\gdef\csname XR\safexrefname\endcsname{#2}%
++   \egroup
++-  % We put the \gdef inside a group to avoid the definitions building up on
++-  % TeX's save stack, which can cause it to run out of space for aux files with
+++  % We put the \gdef inside a group to avoid the definitions building up on 
+++  % TeX's save stack, which can cause it to run out of space for aux files with 
++   % thousands of lines.  \gdef doesn't use the save stack, but \csname does
++-  % when it defines an unknown control sequence as \relax.
+++  % when it defines an unknown control sequence as \relax. 
++   %
++   % Was that xref control sequence that we just defined for a float?
++   \expandafter\iffloat\csname XR\safexrefname\endcsname
++@@ -9225,6 +9521,7 @@ might help (with 'rm \jobname.?? \jobnam
++     \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0
++       {\safexrefname}}%
++   \fi
+++  \ignorespaces % ignore ends of line in aux file
++ }
++ 
++ % If working on a large document in chapters, it is convenient to
++@@ -9247,12 +9544,14 @@ might help (with 'rm \jobname.?? \jobnam
++ % Read the last existing aux file, if any.  No error if none exists.
++ %
++ \def\tryauxfile{%
+++  \ifxetex\xetexpreauxfile\fi
++   \openin 1 \jobname.aux
++   \ifeof 1 \else
++     \readdatafile{aux}%
++     \global\havexrefstrue
++   \fi
++   \closein 1
+++  \ifxetex\xetexpostauxfile\fi
++ }
++ 
++ \def\setupdatafile{%
++@@ -9335,7 +9634,10 @@ might help (with 'rm \jobname.?? \jobnam
++ % Auto-number footnotes.  Otherwise like plain.
++ \gdef\footnote{%
++   \global\advance\footnoteno by \@ne
++-  \edef\thisfootno{$^{\the\footnoteno}$}%
+++  %
+++  % Output for the footnote marker.  If we are immediately after another
+++  % footnote, output a comma and small space first.
+++  \edef\thisfootno{$^{\ifnum\lastpenalty=3 ,\mskip 1mu \fi\the\footnoteno}$}%
++   %
++   % In case the footnote comes at the end of a sentence, preserve the
++   % extra spacing after we do the footnote number.
++@@ -9344,19 +9646,25 @@ might help (with 'rm \jobname.?? \jobnam
++   %
++   % Remove inadvertent blank space before typesetting the footnote number.
++   \unskip
++-  \thisfootno\@sf
+++  %
+++  % \scriptspace is 0.5pt by default and gives excessive space before the
+++  % comma if we have multiple footnote markers in a row.
+++  \bgroup\scriptspace=0pt
+++    \thisfootno\@sf
+++  \egroup
++   \dofootnote
++ }%
++ 
++-% Don't bother with the trickery in plain.tex to not require the
++-% footnote text as a parameter.  Our footnotes don't need to be so general.
++-%
++-% Oh yes, they do; otherwise, @ifset (and anything else that uses
++-% \parseargline) fails inside footnotes because the tokens are fixed when
++-% the footnote is read.  --karl, 16nov96.
+++% marker for immediately after a footnote marker
+++\gdef\footnoteendmarker{\penalty3 }
+++
+++% Do not require the footnote text as a parameter; otherwise, @ifset
+++% (and anything else that uses \parseargline) fails inside footnotes
+++% because the tokens are fixed when the footnote is read.
++ %
++ \gdef\dofootnote{%
++   \insert\footins\bgroup
+++  \aftergroup\footnoteendmarker
++   %
++   % Nested footnotes are not supported in TeX, that would take a lot
++   % more work.  (\startsavinginserts does not suffice.)
++@@ -9387,14 +9695,14 @@ might help (with 'rm \jobname.?? \jobnam
++   % Hang the footnote text off the number.  Use \everypar in case the
++   % footnote extends for more than one paragraph.
++   \everypar = {\hang}%
++-  \textindent{\thisfootno}%
+++  \textindent{$^{\the\footnoteno}$}%
++   %
++   % Don't crash into the line above the footnote text.  Since this
++   % expands into a box, it must come within the paragraph, lest it
++   % provide a place where TeX can split the footnote.
++   \footstrut
++   %
++-  % Invoke rest of plain TeX footnote routine.
+++  % Eat opening brace and invoke rest of plain TeX footnote routine.
++   \futurelet\next\fo@t
++ }
++ }%end \catcode `\@=11
++@@ -9551,7 +9859,9 @@ might help (with 'rm \jobname.?? \jobnam
++     % For pdfTeX and LuaTeX <= 0.80
++     \dopdfimage{#1}{#2}{#3}%
++   \else
++-    \ifx\XeTeXrevision\thisisundefined
+++    \ifxetex
+++      \doxeteximage{#1}{#2}{#3}%
+++    \else
++       % For epsf.tex
++       % \epsfbox itself resets \epsf?size at each figure.
++       \setbox0 = \hbox{\ignorespaces #2}%
++@@ -9559,9 +9869,6 @@ might help (with 'rm \jobname.?? \jobnam
++       \setbox0 = \hbox{\ignorespaces #3}%
++         \ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
++       \epsfbox{#1.eps}%
++-    \else
++-      % For XeTeX
++-      \doxeteximage{#1}{#2}{#3}%
++     \fi
++   \fi
++   %
++@@ -9639,14 +9946,15 @@ might help (with 'rm \jobname.?? \jobnam
++       \global\advance\floatno by 1
++       %
++       {%
++-        % This magic value for \currentsection is output by \setref as the
++-        % XREFLABEL-title value.  \xrefX uses it to distinguish float
+++        % This magic value for the third argument of \setref is output as
+++        % the XREFLABEL-title value.  \xrefX uses it to distinguish float
++         % labels (which have a completely different output format) from
++         % node and anchor labels.  And \xrdef uses it to construct the
++         % lists of floats.
++         %
++-        \edef\currentsection{\floatmagic=\safefloattype}%
++-        \setref{\floatlabel}{Yfloat}%
+++        \edef\tmp{\noexpand\setref{\noexpand\floatlabel}{Yfloat}%
+++                  {\floatmagic=\safefloattype}}%
+++        \tmp
++       }%
++     \fi
++     %
++@@ -9768,7 +10076,7 @@ might help (with 'rm \jobname.?? \jobnam
++ 
++ % #1 is the control sequence we are passed; we expand into a conditional
++ % which is true if #1 represents a float ref.  That is, the magic
++-% \currentsection value which we \setref above.
+++% value which we passed to \setref above.
++ %
++ \def\iffloat#1{\expandafter\doiffloat#1==\finish}
++ %
++@@ -9825,6 +10133,7 @@ might help (with 'rm \jobname.?? \jobnam
++   \toksA = \expandafter{\csname XR#1-lof\endcsname}%
++   %
++   % use the same \entry macro we use to generate the TOC and index.
+++  \let\entry\entryinternal
++   \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
++   \writeentry
++ }}
++@@ -9860,8 +10169,18 @@ might help (with 'rm \jobname.?? \jobnam
++ \gdef\documentlanguagetrywithoutunderscore#1_#2\finish{%
++   \openin 1 txi-#1.tex
++   \ifeof 1
++-    \errhelp = \nolanghelp
++-    \errmessage{Cannot read language file txi-#1.tex}%
+++    \def\lang{#1}%
+++    \def\enword{en}%
+++    \ifx\lang\enword
+++      % for English only, keep on going rather than issuing a fatal error
+++      % message, as txi-en.tex likely doesn't contain any changes from the
+++      % defaults.  note that this is a problem if we already loaded another
+++      % language file and want to switch back to English.
+++      \message{Cannot read language file txi-#1.tex}%
+++    \else
+++      \errhelp = \nolanghelp
+++      \errmessage{Cannot read language file txi-#1.tex}%
+++    \fi
++   \else
++     \globaldefs = 1  % everything in the txi-LL files needs to persist
++     \input txi-#1.tex
++@@ -9907,35 +10226,40 @@ directory should work if nowhere else do
++ \newif\iftxinativeunicodecapable
++ \newif\iftxiusebytewiseio
++ 
++-\ifx\XeTeXrevision\thisisundefined
++-  \ifx\luatexversion\thisisundefined
++-    \txinativeunicodecapablefalse
++-    \txiusebytewiseiotrue
++-  \else
+++\ifxetex
+++  \txinativeunicodecapabletrue
+++  \txiusebytewiseiofalse
+++\else
+++  \ifluatex
++     \txinativeunicodecapabletrue
++     \txiusebytewiseiofalse
+++  \else
+++    \txinativeunicodecapablefalse
+++    \txiusebytewiseiotrue
++   \fi
++-\else
++-  \txinativeunicodecapabletrue
++-  \txiusebytewiseiofalse
++ \fi
++ 
+++\let\xetexpreauxfile\relax
+++\let\xetexpostauxfile\relax
+++
++ % Set I/O by bytes instead of UTF-8 sequence for XeTeX and LuaTex
++ % for non-UTF-8 (byte-wise) encodings.
++ %
++ \def\setbytewiseio{%
++-  \ifx\XeTeXrevision\thisisundefined
++-  \else
++-    \XeTeXdefaultencoding "bytes"  % For subsequent files to be read
++-    \XeTeXinputencoding "bytes"  % For document root file
++-    % Unfortunately, there seems to be no corresponding XeTeX command for
++-    % output encoding.  This is a problem for auxiliary index and TOC files.
++-    % The only solution would be perhaps to write out @U{...} sequences in
++-    % place of non-ASCII characters.
+++  \ifxetex
+++    % For document root file
+++    \XeTeXinputencoding "bytes"
+++    %
+++    % Setting for subsequent files to be read with @include.
+++    \XeTeXdefaultencoding "bytes"
+++    %
+++    % Use UTF-8 for reading auxiliary index and TOC files, which are
+++    % always output in UTF-8 with XeTeX.
+++    \def\xetexpreauxfile{\XeTeXdefaultencoding "UTF-8"}%
+++    \def\xetexpostauxfile{\XeTeXdefaultencoding "bytes"}%
++   \fi
++ 
++-  \ifx\luatexversion\thisisundefined
++-  \else
+++  \ifluatex
++     \directlua{
++     local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub
++     local function convert_char (char)
++@@ -10044,8 +10368,7 @@ directory should work if nowhere else do
++   \fi % lattwo
++   \fi % ascii
++   %
++-  \ifx\XeTeXrevision\thisisundefined
++-  \else
+++  \ifxetex
++     \ifx \declaredencoding \utfeight
++     \else
++       \ifx \declaredencoding \ascii
++@@ -10328,11 +10651,15 @@ directory should work if nowhere else do
++ 
++ \gdef\UTFviiiDefined#1{%
++   \ifx #1\relax
++-    \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
+++    \ifutfviiidefinedwarning
+++      \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
+++    \fi
++   \else
++     \expandafter #1%
++   \fi
++ }
+++\newif\ifutfviiidefinedwarning
+++\utfviiidefinedwarningtrue
++ 
++ % Give non-ASCII bytes the active definitions for processing UTF-8 sequences
++ \begingroup
++@@ -10342,8 +10669,8 @@ directory should work if nowhere else do
++ 
++   % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp
++   % substituting ~ and $ with a character token of that value.
++-  \def\UTFviiiLoop{%
++-    \global\catcode\countUTFx\active
+++  \gdef\UTFviiiLoop{%
+++    \catcode\countUTFx\active
++     \uccode`\~\countUTFx
++     \uccode`\$\countUTFx
++     \uppercase\expandafter{\UTFviiiTmp}%
++@@ -10351,7 +10678,7 @@ directory should work if nowhere else do
++     \ifnum\countUTFx < \countUTFy
++       \expandafter\UTFviiiLoop
++     \fi}
++-
+++  %
++   % For bytes other than the first in a UTF-8 sequence.  Not expected to
++   % be expanded except when writing to auxiliary files.
++   \countUTFx = "80
++@@ -10385,6 +10712,16 @@ directory should work if nowhere else do
++         \else\expandafter\UTFviiiFourOctets\expandafter$\fi
++         }}%
++   \UTFviiiLoop
+++  %
+++  % for pdftex only, used to expand ASCII to UTF-16BE.
+++  \gdef\asciitounicode{%
+++    \countUTFx = "20
+++    \countUTFy = "80
+++    \def\UTFviiiTmp{%
+++      \def~{\nullbyte $}}%
+++    \UTFviiiLoop
+++  }
+++  {\catcode0=11 \gdef\nullbyte{^^00}}%
++ \endgroup
++ 
++ \def\globallet{\global\let} % save some \expandafter's below
++@@ -10401,7 +10738,7 @@ directory should work if nowhere else do
++         \uppercase{.}
++       \endgroup
++     \else
++-      \errhelp = \EMsimple
+++      \errhelp = \EMsimple   
++       \errmessage{Unicode character U+#1 not supported, sorry}%
++     \fi
++   \else
++@@ -10409,8 +10746,8 @@ directory should work if nowhere else do
++   \fi
++ }
++ 
++-% These macros are used here to construct the name of a control
++-% sequence to be defined.
+++% These macros are used here to construct the names of macros
+++% that expand to the definitions for UTF-8 sequences.
++ \def\UTFviiiTwoOctetsName#1#2{%
++   \csname u8:#1\string #2\endcsname}%
++ \def\UTFviiiThreeOctetsName#1#2#3{%
++@@ -10418,6 +10755,35 @@ directory should work if nowhere else do
++ \def\UTFviiiFourOctetsName#1#2#3#4{%
++   \csname u8:#1\string #2\string #3\string #4\endcsname}%
++ 
+++% generate UTF-16 from codepoint
+++\def\utfsixteentotoks#1#2{%
+++  \countUTFz = "#2\relax
+++  \ifnum \countUTFz > 65535
+++    % doesn't work for codepoints > U+FFFF
+++    % we don't define glyphs for any of these anyway, so it doesn't matter
+++    #1={U+#2}%
+++  \else
+++    \countUTFx = \countUTFz
+++    \divide\countUTFx by 256
+++    \countUTFy = \countUTFx
+++    \multiply\countUTFx by 256
+++    \advance\countUTFz by -\countUTFx
+++    \uccode`,=\countUTFy
+++    \uccode`;=\countUTFz
+++    \ifnum\countUTFy = 0
+++      \uppercase{#1={\nullbyte\string;}}%
+++    \else\ifnum\countUTFz = 0
+++      \uppercase{#1={\string,\nullbyte}}%
+++    \else
+++      \uppercase{#1={\string,\string;}}%
+++    \fi\fi
+++    % NB \uppercase cannot insert a null byte
+++  \fi
+++}
+++
+++\newif\ifutfbytespdf
+++\utfbytespdffalse
+++
++ % For UTF-8 byte sequences (TeX, e-TeX and pdfTeX),
++ % provide a definition macro to replace a Unicode character;
++ % this gets used by the @U command
++@@ -10434,19 +10800,23 @@ directory should work if nowhere else do
++     \countUTFz = "#1\relax
++     \begingroup
++       \parseXMLCharref
++-
++-      % Give \u8:... its definition.  The sequence of seven \expandafter's
++-      % expands after the \gdef three times, e.g.
++       %
+++      % Completely expand \UTFviiiTmp, which looks like:
++       % 1.  \UTFviiTwoOctetsName B1 B2
++       % 2.  \csname u8:B1 \string B2 \endcsname
++       % 3.  \u8: B1 B2  (a single control sequence token)
+++      \xdef\UTFviiiTmp{\UTFviiiTmp}%
++       %
++-      \expandafter\expandafter
++-      \expandafter\expandafter
++-      \expandafter\expandafter
++-      \expandafter\gdef       \UTFviiiTmp{#2}%
++-      %
+++      \ifpdf
+++        \toksA={#2}%
+++        \utfsixteentotoks\toksB{#1}%
+++        \expandafter\xdef\UTFviiiTmp{%
+++          \noexpand\ifutfbytespdf\noexpand\utfbytes{\the\toksB}%
+++          \noexpand\else\the\toksA\noexpand\fi}%
+++      \else
+++        \expandafter\gdef\UTFviiiTmp{#2}%
+++      \fi
+++      % 
++       \expandafter\ifx\csname uni:#1\endcsname \relax \else
++        \message{Internal error, already defined: #1}%
++       \fi
++@@ -10455,8 +10825,9 @@ directory should work if nowhere else do
++       \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
++     \endgroup}
++   %
++-  % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp
++-  % to the corresponding UTF-8 sequence.
+++  % Given the value in \countUTFz as a Unicode code point, set
+++  % \UTFviiiTmp to one of the \UTVviii*OctetsName macros followed by
+++  % the corresponding UTF-8 sequence.
++   \gdef\parseXMLCharref{%
++     \ifnum\countUTFz < "20\relax
++       \errhelp = \EMsimple
++@@ -10485,7 +10856,7 @@ directory should work if nowhere else do
++     \divide\countUTFz by 64
++     \countUTFy = \countUTFz  % Save to be the future value of \countUTFz.
++     \multiply\countUTFz by 64
++-
+++    
++     % \countUTFz is now \countUTFx with the last 5 bits cleared.  Subtract
++     % in order to get the last five bits.
++     \advance\countUTFx by -\countUTFz
++@@ -10515,12 +10886,22 @@ directory should work if nowhere else do
++   \catcode"#1=\other
++ }
++ 
+++% Suppress ligature creation from adjacent characters.
+++\ifluatex
+++  % Braces do not suppress ligature creation in LuaTeX, e.g. in of{}fice
+++  % to suppress the "ff" ligature.  Using a kern appears to be the only
+++  % workaround.
+++  \def\nolig{\kern0pt{}}
+++\else
+++  \def\nolig{{}}
+++\fi
+++
++ % https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M
++ % U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block)
++ % U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)
++ % U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A
++ % U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B
++-%
+++% 
++ % Many of our renditions are less than wonderful, and all the missing
++ % characters are available somewhere.  Loading the necessary fonts
++ % awaits user request.  We can't truly support Unicode without
++@@ -11132,8 +11513,8 @@ directory should work if nowhere else do
++   % Punctuation
++   \DeclareUnicodeCharacter{2013}{--}%
++   \DeclareUnicodeCharacter{2014}{---}%
++-  \DeclareUnicodeCharacter{2018}{\quoteleft{}}%
++-  \DeclareUnicodeCharacter{2019}{\quoteright{}}%
+++  \DeclareUnicodeCharacter{2018}{\quoteleft\nolig}%
+++  \DeclareUnicodeCharacter{2019}{\quoteright\nolig}%
++   \DeclareUnicodeCharacter{201A}{\quotesinglbase{}}%
++   \DeclareUnicodeCharacter{201C}{\quotedblleft{}}%
++   \DeclareUnicodeCharacter{201D}{\quotedblright{}}%
++@@ -11168,7 +11549,7 @@ directory should work if nowhere else do
++   \DeclareUnicodeCharacter{2287}{\ensuremath\supseteq}%
++   %
++   \DeclareUnicodeCharacter{2016}{\ensuremath\Vert}%
++-  \DeclareUnicodeCharacter{2032}{\ensuremath\prime}%
+++  \DeclareUnicodeCharacter{2032}{\ensuremath{^\prime}}%
++   \DeclareUnicodeCharacter{210F}{\ensuremath\hbar}%
++   \DeclareUnicodeCharacter{2111}{\ensuremath\Im}%
++   \DeclareUnicodeCharacter{2113}{\ensuremath\ell}%
++@@ -11291,6 +11672,25 @@ directory should work if nowhere else do
++   %
++   \global\mathchardef\checkmark="1370% actually the square root sign
++   \DeclareUnicodeCharacter{2713}{\ensuremath\checkmark}%
+++  %
+++  % These are all the combining accents.  We need these empty definitions
+++  % at present for the sake of PDF outlines.
+++  \DeclareUnicodeCharacter{0300}{}%
+++  \DeclareUnicodeCharacter{0301}{}%
+++  \DeclareUnicodeCharacter{0302}{}%
+++  \DeclareUnicodeCharacter{0303}{}%
+++  \DeclareUnicodeCharacter{0305}{}%
+++  \DeclareUnicodeCharacter{0306}{}%
+++  \DeclareUnicodeCharacter{0307}{}%
+++  \DeclareUnicodeCharacter{0308}{}%
+++  \DeclareUnicodeCharacter{030A}{}%
+++  \DeclareUnicodeCharacter{030B}{}%
+++  \DeclareUnicodeCharacter{030C}{}%
+++  \DeclareUnicodeCharacter{0323}{}%
+++  \DeclareUnicodeCharacter{0327}{}%
+++  \DeclareUnicodeCharacter{0328}{}%
+++  \DeclareUnicodeCharacter{0331}{}%
+++  \DeclareUnicodeCharacter{0361}{}%
++ }% end of \unicodechardefs
++ 
++ % UTF-8 byte sequence (pdfTeX) definitions (replacing and @U command)
++@@ -11429,12 +11829,12 @@ directory should work if nowhere else do
++     \pdfhorigin = 1 true in
++     \pdfvorigin = 1 true in
++   \else
++-    \ifx\XeTeXrevision\thisisundefined
++-      \special{papersize=#8,#7}%
++-    \else
+++    \ifxetex
++       \pdfpageheight #7\relax
++       \pdfpagewidth #8\relax
++       % XeTeX does not have \pdfhorigin and \pdfvorigin.
+++    \else
+++      \special{papersize=#8,#7}%
++     \fi
++   \fi
++   %
++@@ -11634,21 +12034,21 @@ directory should work if nowhere else do
++   #1#2#3=\countB\relax
++ }
++ 
++-\ifx\XeTeXrevision\thisisundefined
++-  \ifx\luatexversion\thisisundefined
+++\ifxetex % XeTeX
+++  \mtsetprotcode\textrm
+++  \def\mtfontexpand#1{}
+++\else
+++  \ifluatex % LuaTeX
+++    \mtsetprotcode\textrm
+++    \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax}
+++  \else
++     \ifpdf % pdfTeX
++       \mtsetprotcode\textrm
++       \def\mtfontexpand#1{\pdffontexpand#1 20 20 1 autoexpand\relax}
++     \else % TeX
++       \def\mtfontexpand#1{}
++     \fi
++-  \else % LuaTeX
++-    \mtsetprotcode\textrm
++-    \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax}
++   \fi
++-\else % XeTeX
++-  \mtsetprotcode\textrm
++-  \def\mtfontexpand#1{}
++ \fi
++ 
++ 
++@@ -11657,18 +12057,18 @@ directory should work if nowhere else do
++ \def\microtypeON{%
++   \microtypetrue
++   %
++-  \ifx\XeTeXrevision\thisisundefined
++-    \ifx\luatexversion\thisisundefined
+++  \ifxetex % XeTeX
+++    \XeTeXprotrudechars=2
+++  \else
+++    \ifluatex % LuaTeX
+++      \adjustspacing=2
+++      \protrudechars=2
+++    \else
++       \ifpdf % pdfTeX
++         \pdfadjustspacing=2
++         \pdfprotrudechars=2
++       \fi
++-    \else % LuaTeX
++-      \adjustspacing=2
++-      \protrudechars=2
++     \fi
++-  \else % XeTeX
++-    \XeTeXprotrudechars=2
++   \fi
++   %
++   \mtfontexpand\textrm
++@@ -11679,18 +12079,18 @@ directory should work if nowhere else do
++ \def\microtypeOFF{%
++   \microtypefalse
++   %
++-  \ifx\XeTeXrevision\thisisundefined
++-    \ifx\luatexversion\thisisundefined
+++  \ifxetex % XeTeX
+++    \XeTeXprotrudechars=0
+++  \else
+++    \ifluatex % LuaTeX
+++      \adjustspacing=0
+++      \protrudechars=0
+++    \else
++       \ifpdf % pdfTeX
++         \pdfadjustspacing=0
++         \pdfprotrudechars=0
++       \fi
++-    \else % LuaTeX
++-      \adjustspacing=0
++-      \protrudechars=0
++     \fi
++-  \else % XeTeX
++-    \XeTeXprotrudechars=0
++   \fi
++ }
++ 
++@@ -11765,7 +12165,7 @@ directory should work if nowhere else do
++ \def\texinfochars{%
++   \let< = \activeless
++   \let> = \activegtr
++-  \let~ = \activetilde
+++  \let~ = \activetilde 
++   \let^ = \activehat
++   \setregularquotes
++   \let\b = \strong
++--- gcl27-2.7.1.orig/xgcl-2/Events.c
+++++ gcl27-2.7.1/xgcl-2/Events.c
++@@ -26,202 +26,187 @@
++ #include <X11/Xlib.h>
++ 
++ /********* XKeyEvent functions *****/
++-
++-long  make_XKeyEvent (){
+++long 
+++make_XKeyEvent (void){
++           return ((long) calloc(1, sizeof(XKeyEvent)));
++ }
++ 
++-int  XKeyEvent_same_screen(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_same_screen (XKeyEvent* i)
++ {
++           return(i->same_screen);
++ }
++ 
++-void set_XKeyEvent_same_screen(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_same_screen (XKeyEvent *i, int j)
++ {
++           i->same_screen = j;
++ }
++ 
++-int  XKeyEvent_keycode(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_keycode (XKeyEvent *i)
++ {
++           return(i->keycode);
++ }
++ 
++-void set_XKeyEvent_keycode(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_keycode (XKeyEvent *i, int j)
++ {
++           i->keycode = j;
++ }
++ 
++-int  XKeyEvent_state(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_state (XKeyEvent *i)
++ {
++           return(i->state);
++ }
++ 
++-void set_XKeyEvent_state(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_state (XKeyEvent *i, int j)
++ {
++           i->state = j;
++ }
++ 
++-int  XKeyEvent_y_root(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_y_root (XKeyEvent *i)
++ {
++           return(i->y_root);
++ }
++ 
++-void set_XKeyEvent_y_root(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_y_root (XKeyEvent *i, int j)
++ {
++           i->y_root = j;
++ }
++ 
++-int  XKeyEvent_x_root(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_x_root (XKeyEvent *i)
++ {
++           return(i->x_root);
++ }
++ 
++-void set_XKeyEvent_x_root(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_x_root (XKeyEvent *i, int j)
++ {
++           i->x_root = j;
++ }
++ 
++-int  XKeyEvent_y(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_y (XKeyEvent *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XKeyEvent_y(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_y (XKeyEvent *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XKeyEvent_x(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_x (XKeyEvent *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XKeyEvent_x(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_x (XKeyEvent *i, int j)
++ {
++           i->x = j;
++ }
++ 
++-int  XKeyEvent_time(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_time (XKeyEvent *i)
++ {
++           return(i->time);
++ }
++ 
++-void set_XKeyEvent_time(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_time (XKeyEvent *i, int j)
++ {
++           i->time = j;
++ }
++ 
++-int  XKeyEvent_subwindow(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_subwindow (XKeyEvent *i)
++ {
++           return(i->subwindow);
++ }
++ 
++-void set_XKeyEvent_subwindow(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_subwindow (XKeyEvent *i, int j)
++ {
++           i->subwindow = j;
++ }
++ 
++-int  XKeyEvent_root(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_root (XKeyEvent *i)
++ {
++           return(i->root);
++ }
++ 
++-void set_XKeyEvent_root(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_root (XKeyEvent *i, int j)
++ {
++           i->root = j;
++ }
++ 
++-int  XKeyEvent_window(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_window (XKeyEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XKeyEvent_window(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_window (XKeyEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XKeyEvent_display(i)
++-XKeyEvent* i;
+++long 
+++XKeyEvent_display (XKeyEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XKeyEvent_display(i, j)
++-XKeyEvent* i;
++-long j;
+++void 
+++set_XKeyEvent_display (XKeyEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XKeyEvent_send_event(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_send_event (XKeyEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XKeyEvent_send_event(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_send_event (XKeyEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XKeyEvent_serial(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_serial (XKeyEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XKeyEvent_serial(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_serial (XKeyEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XKeyEvent_type(i)
++-XKeyEvent* i;
+++int 
+++XKeyEvent_type (XKeyEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XKeyEvent_type(i, j)
++-XKeyEvent* i;
++-int j;
+++void 
+++set_XKeyEvent_type (XKeyEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -229,201 +214,187 @@ int j;
++ 
++ /********* XButtonEvent functions *****/
++ 
++-long  make_XButtonEvent (){
+++long 
+++make_XButtonEvent (void){
++           return ((long) calloc(1, sizeof(XButtonEvent)));
++ }
++ 
++-int  XButtonEvent_same_screen(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_same_screen (XButtonEvent *i)
++ {
++           return(i->same_screen);
++ }
++ 
++-void set_XButtonEvent_same_screen(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_same_screen (XButtonEvent *i, int j)
++ {
++           i->same_screen = j;
++ }
++ 
++-int  XButtonEvent_button(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_button (XButtonEvent *i)
++ {
++           return(i->button);
++ }
++ 
++-void set_XButtonEvent_button(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_button (XButtonEvent *i, int j)
++ {
++           i->button = j;
++ }
++ 
++-int  XButtonEvent_state(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_state (XButtonEvent *i)
++ {
++           return(i->state);
++ }
++ 
++-void set_XButtonEvent_state(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_state (XButtonEvent *i, int j)
++ {
++           i->state = j;
++ }
++ 
++-int  XButtonEvent_y_root(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_y_root (XButtonEvent *i)
++ {
++           return(i->y_root);
++ }
++ 
++-void set_XButtonEvent_y_root(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_y_root (XButtonEvent *i, int j)
++ {
++           i->y_root = j;
++ }
++ 
++-int  XButtonEvent_x_root(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_x_root (XButtonEvent *i)
++ {
++           return(i->x_root);
++ }
++ 
++-void set_XButtonEvent_x_root(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_x_root (XButtonEvent *i, int j)
++ {
++           i->x_root = j;
++ }
++ 
++-int  XButtonEvent_y(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_y (XButtonEvent *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XButtonEvent_y(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_y (XButtonEvent *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XButtonEvent_x(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_x (XButtonEvent *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XButtonEvent_x(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_x (XButtonEvent *i, int j)
++ {
++           i->x = j;
++ }
++ 
++-int  XButtonEvent_time(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_time (XButtonEvent *i)
++ {
++           return(i->time);
++ }
++ 
++-void set_XButtonEvent_time(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_time (XButtonEvent *i, int j)
++ {
++           i->time = j;
++ }
++ 
++-int  XButtonEvent_subwindow(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_subwindow (XButtonEvent *i)
++ {
++           return(i->subwindow);
++ }
++ 
++-void set_XButtonEvent_subwindow(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_subwindow (XButtonEvent *i, int j)
++ {
++           i->subwindow = j;
++ }
++ 
++-int  XButtonEvent_root(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_root (XButtonEvent *i)
++ {
++           return(i->root);
++ }
++ 
++-void set_XButtonEvent_root(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_root (XButtonEvent *i, int j)
++ {
++           i->root = j;
++ }
++ 
++-int  XButtonEvent_window(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_window (XButtonEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XButtonEvent_window(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_window (XButtonEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XButtonEvent_display(i)
++-XButtonEvent* i;
+++long 
+++XButtonEvent_display (XButtonEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XButtonEvent_display(i, j)
++-XButtonEvent* i;
++-long j;
+++void 
+++set_XButtonEvent_display (XButtonEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XButtonEvent_send_event(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_send_event (XButtonEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XButtonEvent_send_event(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_send_event (XButtonEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XButtonEvent_serial(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_serial (XButtonEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XButtonEvent_serial(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_serial (XButtonEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XButtonEvent_type(i)
++-XButtonEvent* i;
+++int 
+++XButtonEvent_type (XButtonEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XButtonEvent_type(i, j)
++-XButtonEvent* i;
++-int j;
+++void 
+++set_XButtonEvent_type (XButtonEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -431,201 +402,187 @@ int j;
++ 
++ /********* XMotionEvent functions *****/
++ 
++-long  make_XMotionEvent (){
+++long 
+++make_XMotionEvent (void){
++           return ((long) calloc(1, sizeof(XMotionEvent)));
++ }
++ 
++-int  XMotionEvent_same_screen(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_same_screen (XMotionEvent *i)
++ {
++           return(i->same_screen);
++ }
++ 
++-void set_XMotionEvent_same_screen(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_same_screen (XMotionEvent *i, int j)
++ {
++           i->same_screen = j;
++ }
++ 
++-char XMotionEvent_is_hint(i)
++-XMotionEvent* i;
+++char 
+++XMotionEvent_is_hint (XMotionEvent *i)
++ {
++           return(i->is_hint);
++ }
++ 
++-void set_XMotionEvent_is_hint(i, j)
++-XMotionEvent* i;
++-char j;
+++void 
+++set_XMotionEvent_is_hint (XMotionEvent *i, int j)
++ {
++           i->is_hint = j;
++ }
++ 
++-int  XMotionEvent_state(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_state (XMotionEvent *i)
++ {
++           return(i->state);
++ }
++ 
++-void set_XMotionEvent_state(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_state (XMotionEvent *i, int j)
++ {
++           i->state = j;
++ }
++ 
++-int  XMotionEvent_y_root(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_y_root (XMotionEvent *i)
++ {
++           return(i->y_root);
++ }
++ 
++-void set_XMotionEvent_y_root(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_y_root (XMotionEvent *i, int j)
++ {
++           i->y_root = j;
++ }
++ 
++-int  XMotionEvent_x_root(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_x_root (XMotionEvent *i)
++ {
++           return(i->x_root);
++ }
++ 
++-void set_XMotionEvent_x_root(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_x_root (XMotionEvent *i, int j)
++ {
++           i->x_root = j;
++ }
++ 
++-int  XMotionEvent_y(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_y (XMotionEvent *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XMotionEvent_y(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_y (XMotionEvent *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XMotionEvent_x(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_x (XMotionEvent *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XMotionEvent_x(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_x (XMotionEvent *i, int j)
++ {
++           i->x = j;
++ }
++ 
++-int  XMotionEvent_time(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_time (XMotionEvent *i)
++ {
++           return(i->time);
++ }
++ 
++-void set_XMotionEvent_time(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_time (XMotionEvent *i, int j)
++ {
++           i->time = j;
++ }
++ 
++-int  XMotionEvent_subwindow(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_subwindow (XMotionEvent *i)
++ {
++           return(i->subwindow);
++ }
++ 
++-void set_XMotionEvent_subwindow(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_subwindow (XMotionEvent *i, int j)
++ {
++           i->subwindow = j;
++ }
++ 
++-int  XMotionEvent_root(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_root (XMotionEvent *i)
++ {
++           return(i->root);
++ }
++ 
++-void set_XMotionEvent_root(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_root (XMotionEvent *i, int j)
++ {
++           i->root = j;
++ }
++ 
++-int  XMotionEvent_window(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_window (XMotionEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XMotionEvent_window(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_window (XMotionEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XMotionEvent_display(i)
++-XMotionEvent* i;
+++long 
+++XMotionEvent_display (XMotionEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XMotionEvent_display(i, j)
++-XMotionEvent* i;
++-long j;
+++void 
+++set_XMotionEvent_display (XMotionEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XMotionEvent_send_event(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_send_event (XMotionEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XMotionEvent_send_event(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_send_event (XMotionEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XMotionEvent_serial(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_serial (XMotionEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XMotionEvent_serial(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_serial (XMotionEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XMotionEvent_type(i)
++-XMotionEvent* i;
+++int 
+++XMotionEvent_type (XMotionEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XMotionEvent_type(i, j)
++-XMotionEvent* i;
++-int j;
+++void 
+++set_XMotionEvent_type (XMotionEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -633,227 +590,211 @@ int j;
++ 
++ /********* XCrossingEvent functions *****/
++ 
++-long  make_XCrossingEvent (){
+++long 
+++make_XCrossingEvent (void){
++           return ((long) calloc(1, sizeof(XCrossingEvent)));
++ }
++ 
++-int  XCrossingEvent_state(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_state (XCrossingEvent *i)
++ {
++           return(i->state);
++ }
++ 
++-void set_XCrossingEvent_state(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_state (XCrossingEvent *i, int j)
++ {
++           i->state = j;
++ }
++ 
++-int  XCrossingEvent_focus(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_focus (XCrossingEvent *i)
++ {
++           return(i->focus);
++ }
++ 
++-void set_XCrossingEvent_focus(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_focus (XCrossingEvent *i, int j)
++ {
++           i->focus = j;
++ }
++ 
++-int  XCrossingEvent_same_screen(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_same_screen (XCrossingEvent *i)
++ {
++           return(i->same_screen);
++ }
++ 
++-void set_XCrossingEvent_same_screen(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_same_screen (XCrossingEvent *i, int j)
++ {
++           i->same_screen = j;
++ }
++ 
++-int  XCrossingEvent_detail(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_detail (XCrossingEvent *i)
++ {
++           return(i->detail);
++ }
++ 
++-void set_XCrossingEvent_detail(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_detail (XCrossingEvent *i, int j)
++ {
++           i->detail = j;
++ }
++ 
++-int  XCrossingEvent_mode(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_mode (XCrossingEvent *i)
++ {
++           return(i->mode);
++ }
++ 
++-void set_XCrossingEvent_mode(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_mode (XCrossingEvent *i, int j)
++ {
++           i->mode = j;
++ }
++ 
++-int  XCrossingEvent_y_root(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_y_root (XCrossingEvent *i)
++ {
++           return(i->y_root);
++ }
++ 
++-void set_XCrossingEvent_y_root(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_y_root (XCrossingEvent *i, int j)
++ {
++           i->y_root = j;
++ }
++ 
++-int  XCrossingEvent_x_root(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_x_root (XCrossingEvent *i)
++ {
++           return(i->x_root);
++ }
++ 
++-void set_XCrossingEvent_x_root(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_x_root (XCrossingEvent *i, int j)
++ {
++           i->x_root = j;
++ }
++ 
++-int  XCrossingEvent_y(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_y (XCrossingEvent *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XCrossingEvent_y(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_y (XCrossingEvent *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XCrossingEvent_x(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_x (XCrossingEvent *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XCrossingEvent_x(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_x (XCrossingEvent *i, int j)
++ {
++           i->x = j;
++ }
++ 
++-int  XCrossingEvent_time(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_time (XCrossingEvent *i)
++ {
++           return(i->time);
++ }
++ 
++-void set_XCrossingEvent_time(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_time (XCrossingEvent *i, int j)
++ {
++           i->time = j;
++ }
++ 
++-int  XCrossingEvent_subwindow(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_subwindow (XCrossingEvent *i)
++ {
++           return(i->subwindow);
++ }
++ 
++-void set_XCrossingEvent_subwindow(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_subwindow (XCrossingEvent *i, int j)
++ {
++           i->subwindow = j;
++ }
++ 
++-int  XCrossingEvent_root(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_root (XCrossingEvent *i)
++ {
++           return(i->root);
++ }
++ 
++-void set_XCrossingEvent_root(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_root (XCrossingEvent *i, int j)
++ {
++           i->root = j;
++ }
++ 
++-int  XCrossingEvent_window(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_window (XCrossingEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XCrossingEvent_window(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_window (XCrossingEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XCrossingEvent_display(i)
++-XCrossingEvent* i;
+++long 
+++XCrossingEvent_display (XCrossingEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XCrossingEvent_display(i, j)
++-XCrossingEvent* i;
++-long j;
+++void 
+++set_XCrossingEvent_display (XCrossingEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XCrossingEvent_send_event(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_send_event (XCrossingEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XCrossingEvent_send_event(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_send_event (XCrossingEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XCrossingEvent_serial(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_serial (XCrossingEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XCrossingEvent_serial(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_serial (XCrossingEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XCrossingEvent_type(i)
++-XCrossingEvent* i;
+++int 
+++XCrossingEvent_type (XCrossingEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XCrossingEvent_type(i, j)
++-XCrossingEvent* i;
++-int j;
+++void 
+++set_XCrossingEvent_type (XCrossingEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -861,97 +802,91 @@ int j;
++ 
++ /********* XFocusChangeEvent functions *****/
++ 
++-long  make_XFocusChangeEvent (){
+++long 
+++make_XFocusChangeEvent (void){
++           return ((long) calloc(1, sizeof(XFocusChangeEvent)));
++ }
++ 
++-int  XFocusChangeEvent_detail(i)
++-XFocusChangeEvent* i;
+++int 
+++XFocusChangeEvent_detail (XFocusChangeEvent *i)
++ {
++           return(i->detail);
++ }
++ 
++-void set_XFocusChangeEvent_detail(i, j)
++-XFocusChangeEvent* i;
++-int j;
+++void 
+++set_XFocusChangeEvent_detail (XFocusChangeEvent *i, int j)
++ {
++           i->detail = j;
++ }
++ 
++-int  XFocusChangeEvent_mode(i)
++-XFocusChangeEvent* i;
+++int 
+++XFocusChangeEvent_mode (XFocusChangeEvent *i)
++ {
++           return(i->mode);
++ }
++ 
++-void set_XFocusChangeEvent_mode(i, j)
++-XFocusChangeEvent* i;
++-int j;
+++void 
+++set_XFocusChangeEvent_mode (XFocusChangeEvent *i, int j)
++ {
++           i->mode = j;
++ }
++ 
++-int  XFocusChangeEvent_window(i)
++-XFocusChangeEvent* i;
+++int 
+++XFocusChangeEvent_window (XFocusChangeEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XFocusChangeEvent_window(i, j)
++-XFocusChangeEvent* i;
++-int j;
+++void 
+++set_XFocusChangeEvent_window (XFocusChangeEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XFocusChangeEvent_display(i)
++-XFocusChangeEvent* i;
+++long 
+++XFocusChangeEvent_display (XFocusChangeEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XFocusChangeEvent_display(i, j)
++-XFocusChangeEvent* i;
++-long j;
+++void 
+++set_XFocusChangeEvent_display (XFocusChangeEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XFocusChangeEvent_send_event(i)
++-XFocusChangeEvent* i;
+++int 
+++XFocusChangeEvent_send_event (XFocusChangeEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XFocusChangeEvent_send_event(i, j)
++-XFocusChangeEvent* i;
++-int j;
+++void 
+++set_XFocusChangeEvent_send_event (XFocusChangeEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XFocusChangeEvent_serial(i)
++-XFocusChangeEvent* i;
+++int 
+++XFocusChangeEvent_serial (XFocusChangeEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XFocusChangeEvent_serial(i, j)
++-XFocusChangeEvent* i;
++-int j;
+++void 
+++set_XFocusChangeEvent_serial (XFocusChangeEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XFocusChangeEvent_type(i)
++-XFocusChangeEvent* i;
+++int 
+++XFocusChangeEvent_type (XFocusChangeEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XFocusChangeEvent_type(i, j)
++-XFocusChangeEvent* i;
++-int j;
+++void 
+++set_XFocusChangeEvent_type (XFocusChangeEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -959,76 +894,72 @@ int j;
++ 
++ /********* XKeymapEvent functions *****/
++ 
++-long  make_XKeymapEvent (){
+++long 
+++make_XKeymapEvent (void){
++           return ((long) calloc(1, sizeof(XKeymapEvent)));
++ }
++ 
++-char* XKeymapEvent_key_vector(i)
++-XKeymapEvent* i;
+++char *
+++XKeymapEvent_key_vector (XKeymapEvent *i)
++ {
++           return(i->key_vector);
++ }
++-int  XKeymapEvent_window(i)
++-XKeymapEvent* i;
+++int 
+++XKeymapEvent_window (XKeymapEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XKeymapEvent_window(i, j)
++-XKeymapEvent* i;
++-int j;
+++void 
+++set_XKeymapEvent_window (XKeymapEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XKeymapEvent_display(i)
++-XKeymapEvent* i;
+++long 
+++XKeymapEvent_display (XKeymapEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XKeymapEvent_display(i, j)
++-XKeymapEvent* i;
++-long j;
+++void 
+++set_XKeymapEvent_display (XKeymapEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XKeymapEvent_send_event(i)
++-XKeymapEvent* i;
+++int 
+++XKeymapEvent_send_event (XKeymapEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XKeymapEvent_send_event(i, j)
++-XKeymapEvent* i;
++-int j;
+++void 
+++set_XKeymapEvent_send_event (XKeymapEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XKeymapEvent_serial(i)
++-XKeymapEvent* i;
+++int 
+++XKeymapEvent_serial (XKeymapEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XKeymapEvent_serial(i, j)
++-XKeymapEvent* i;
++-int j;
+++void 
+++set_XKeymapEvent_serial (XKeymapEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XKeymapEvent_type(i)
++-XKeymapEvent* i;
+++int 
+++XKeymapEvent_type (XKeymapEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XKeymapEvent_type(i, j)
++-XKeymapEvent* i;
++-int j;
+++void 
+++set_XKeymapEvent_type (XKeymapEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -1036,136 +967,127 @@ int j;
++ 
++ /********* XExposeEvent functions *****/
++ 
++-long  make_XExposeEvent (){
+++long 
+++make_XExposeEvent (void){
++           return ((long) calloc(1, sizeof(XExposeEvent)));
++ }
++ 
++-int  XExposeEvent_count(i)
++-XExposeEvent* i;
+++int 
+++XExposeEvent_count (XExposeEvent *i)
++ {
++           return(i->count);
++ }
++ 
++-void set_XExposeEvent_count(i, j)
++-XExposeEvent* i;
++-int j;
+++void 
+++set_XExposeEvent_count (XExposeEvent *i, int j)
++ {
++           i->count = j;
++ }
++ 
++-int  XExposeEvent_height(i)
++-XExposeEvent* i;
+++int 
+++XExposeEvent_height (XExposeEvent *i)
++ {
++           return(i->height);
++ }
++ 
++-void set_XExposeEvent_height(i, j)
++-XExposeEvent* i;
++-int j;
+++void 
+++set_XExposeEvent_height (XExposeEvent *i, int j)
++ {
++           i->height = j;
++ }
++ 
++-int  XExposeEvent_width(i)
++-XExposeEvent* i;
+++int 
+++XExposeEvent_width (XExposeEvent *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XExposeEvent_width(i, j)
++-XExposeEvent* i;
++-int j;
+++void 
+++set_XExposeEvent_width (XExposeEvent *i, int j)
++ {
++           i->width = j;
++ }
++ 
++-int  XExposeEvent_y(i)
++-XExposeEvent* i;
+++int 
+++XExposeEvent_y (XExposeEvent *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XExposeEvent_y(i, j)
++-XExposeEvent* i;
++-int j;
+++void 
+++set_XExposeEvent_y (XExposeEvent *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XExposeEvent_x(i)
++-XExposeEvent* i;
+++int 
+++XExposeEvent_x (XExposeEvent *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XExposeEvent_x(i, j)
++-XExposeEvent* i;
++-int j;
+++void 
+++set_XExposeEvent_x (XExposeEvent *i, int j)
++ {
++           i->x = j;
++ }
++ 
++-int  XExposeEvent_window(i)
++-XExposeEvent* i;
+++int 
+++XExposeEvent_window (XExposeEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XExposeEvent_window(i, j)
++-XExposeEvent* i;
++-int j;
+++void 
+++set_XExposeEvent_window (XExposeEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XExposeEvent_display(i)
++-XExposeEvent* i;
+++long 
+++XExposeEvent_display (XExposeEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XExposeEvent_display(i, j)
++-XExposeEvent* i;
++-long j;
+++void 
+++set_XExposeEvent_display (XExposeEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XExposeEvent_send_event(i)
++-XExposeEvent* i;
+++int 
+++XExposeEvent_send_event (XExposeEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XExposeEvent_send_event(i, j)
++-XExposeEvent* i;
++-int j;
+++void 
+++set_XExposeEvent_send_event (XExposeEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XExposeEvent_serial(i)
++-XExposeEvent* i;
+++int 
+++XExposeEvent_serial (XExposeEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XExposeEvent_serial(i, j)
++-XExposeEvent* i;
++-int j;
+++void 
+++set_XExposeEvent_serial (XExposeEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XExposeEvent_type(i)
++-XExposeEvent* i;
+++int 
+++XExposeEvent_type (XExposeEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XExposeEvent_type(i, j)
++-XExposeEvent* i;
++-int j;
+++void 
+++set_XExposeEvent_type (XExposeEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -1173,162 +1095,151 @@ int j;
++ 
++ /********* XGraphicsExposeEvent functions *****/
++ 
++-long  make_XGraphicsExposeEvent (){
+++long 
+++make_XGraphicsExposeEvent (void){
++           return ((long) calloc(1, sizeof(XGraphicsExposeEvent)));
++ }
++ 
++-int  XGraphicsExposeEvent_minor_code(i)
++-XGraphicsExposeEvent* i;
+++int 
+++XGraphicsExposeEvent_minor_code (XGraphicsExposeEvent *i)
++ {
++           return(i->minor_code);
++ }
++ 
++-void set_XGraphicsExposeEvent_minor_code(i, j)
++-XGraphicsExposeEvent* i;
++-int j;
+++void 
+++set_XGraphicsExposeEvent_minor_code (XGraphicsExposeEvent *i, int j)
++ {
++           i->minor_code = j;
++ }
++ 
++-int  XGraphicsExposeEvent_major_code(i)
++-XGraphicsExposeEvent* i;
+++int 
+++XGraphicsExposeEvent_major_code (XGraphicsExposeEvent *i)
++ {
++           return(i->major_code);
++ }
++ 
++-void set_XGraphicsExposeEvent_major_code(i, j)
++-XGraphicsExposeEvent* i;
++-int j;
+++void 
+++set_XGraphicsExposeEvent_major_code (XGraphicsExposeEvent *i, int j)
++ {
++           i->major_code = j;
++ }
++ 
++-int  XGraphicsExposeEvent_count(i)
++-XGraphicsExposeEvent* i;
+++int 
+++XGraphicsExposeEvent_count (XGraphicsExposeEvent *i)
++ {
++           return(i->count);
++ }
++ 
++-void set_XGraphicsExposeEvent_count(i, j)
++-XGraphicsExposeEvent* i;
++-int j;
+++void 
+++set_XGraphicsExposeEvent_count (XGraphicsExposeEvent *i, int j)
++ {
++           i->count = j;
++ }
++ 
++-int  XGraphicsExposeEvent_height(i)
++-XGraphicsExposeEvent* i;
+++int 
+++XGraphicsExposeEvent_height (XGraphicsExposeEvent *i)
++ {
++           return(i->height);
++ }
++ 
++-void set_XGraphicsExposeEvent_height(i, j)
++-XGraphicsExposeEvent* i;
++-int j;
+++void 
+++set_XGraphicsExposeEvent_height (XGraphicsExposeEvent *i, int j)
++ {
++           i->height = j;
++ }
++ 
++-int  XGraphicsExposeEvent_width(i)
++-XGraphicsExposeEvent* i;
+++int 
+++XGraphicsExposeEvent_width (XGraphicsExposeEvent *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XGraphicsExposeEvent_width(i, j)
++-XGraphicsExposeEvent* i;
++-int j;
+++void 
+++set_XGraphicsExposeEvent_width (XGraphicsExposeEvent *i, int j)
++ {
++           i->width = j;
++ }
++ 
++-int  XGraphicsExposeEvent_y(i)
++-XGraphicsExposeEvent* i;
+++int 
+++XGraphicsExposeEvent_y (XGraphicsExposeEvent *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XGraphicsExposeEvent_y(i, j)
++-XGraphicsExposeEvent* i;
++-int j;
+++void 
+++set_XGraphicsExposeEvent_y (XGraphicsExposeEvent *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XGraphicsExposeEvent_x(i)
++-XGraphicsExposeEvent* i;
+++int 
+++XGraphicsExposeEvent_x (XGraphicsExposeEvent *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XGraphicsExposeEvent_x(i, j)
++-XGraphicsExposeEvent* i;
++-int j;
+++void 
+++set_XGraphicsExposeEvent_x (XGraphicsExposeEvent *i, int j)
++ {
++           i->x = j;
++ }
++ 
++-Drawable XGraphicsExposeEvent_drawable(i)
++-XGraphicsExposeEvent* i;
+++Drawable 
+++XGraphicsExposeEvent_drawable (XGraphicsExposeEvent *i)
++ {
++           return(i->drawable);
++ }
++ 
++-void set_XGraphicsExposeEvent_drawable(i, j)
++-XGraphicsExposeEvent* i;
++-Drawable j;
+++void 
+++set_XGraphicsExposeEvent_drawable (XGraphicsExposeEvent *i, Drawable j)
++ {
++           i->drawable = j;
++ }
++ 
++-long  XGraphicsExposeEvent_display(i)
++-XGraphicsExposeEvent* i;
+++long 
+++XGraphicsExposeEvent_display (XGraphicsExposeEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XGraphicsExposeEvent_display(i, j)
++-XGraphicsExposeEvent* i;
++-long j;
+++void 
+++set_XGraphicsExposeEvent_display (XGraphicsExposeEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XGraphicsExposeEvent_send_event(i)
++-XGraphicsExposeEvent* i;
+++int 
+++XGraphicsExposeEvent_send_event (XGraphicsExposeEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XGraphicsExposeEvent_send_event(i, j)
++-XGraphicsExposeEvent* i;
++-int j;
+++void 
+++set_XGraphicsExposeEvent_send_event (XGraphicsExposeEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XGraphicsExposeEvent_serial(i)
++-XGraphicsExposeEvent* i;
+++int 
+++XGraphicsExposeEvent_serial (XGraphicsExposeEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XGraphicsExposeEvent_serial(i, j)
++-XGraphicsExposeEvent* i;
++-int j;
+++void 
+++set_XGraphicsExposeEvent_serial (XGraphicsExposeEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XGraphicsExposeEvent_type(i)
++-XGraphicsExposeEvent* i;
+++int 
+++XGraphicsExposeEvent_type (XGraphicsExposeEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XGraphicsExposeEvent_type(i, j)
++-XGraphicsExposeEvent* i;
++-int j;
+++void 
+++set_XGraphicsExposeEvent_type (XGraphicsExposeEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -1336,97 +1247,91 @@ int j;
++ 
++ /********* XNoExposeEvent functions *****/
++ 
++-long  make_XNoExposeEvent (){
+++long 
+++make_XNoExposeEvent (void){
++           return ((long) calloc(1, sizeof(XNoExposeEvent)));
++ }
++ 
++-int  XNoExposeEvent_minor_code(i)
++-XNoExposeEvent* i;
+++int 
+++XNoExposeEvent_minor_code (XNoExposeEvent *i)
++ {
++           return(i->minor_code);
++ }
++ 
++-void set_XNoExposeEvent_minor_code(i, j)
++-XNoExposeEvent* i;
++-int j;
+++void 
+++set_XNoExposeEvent_minor_code (XNoExposeEvent *i, int j)
++ {
++           i->minor_code = j;
++ }
++ 
++-int  XNoExposeEvent_major_code(i)
++-XNoExposeEvent* i;
+++int 
+++XNoExposeEvent_major_code (XNoExposeEvent *i)
++ {
++           return(i->major_code);
++ }
++ 
++-void set_XNoExposeEvent_major_code(i, j)
++-XNoExposeEvent* i;
++-int j;
+++void 
+++set_XNoExposeEvent_major_code (XNoExposeEvent *i, int j)
++ {
++           i->major_code = j;
++ }
++ 
++-Drawable XNoExposeEvent_drawable(i)
++-XNoExposeEvent* i;
+++Drawable 
+++XNoExposeEvent_drawable (XNoExposeEvent *i)
++ {
++           return(i->drawable);
++ }
++ 
++-void set_XNoExposeEvent_drawable(i, j)
++-XNoExposeEvent* i;
++-Drawable j;
+++void 
+++set_XNoExposeEvent_drawable (XNoExposeEvent *i, Drawable j)
++ {
++           i->drawable = j;
++ }
++ 
++-long  XNoExposeEvent_display(i)
++-XNoExposeEvent* i;
+++long 
+++XNoExposeEvent_display (XNoExposeEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XNoExposeEvent_display(i, j)
++-XNoExposeEvent* i;
++-long j;
+++void 
+++set_XNoExposeEvent_display (XNoExposeEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XNoExposeEvent_send_event(i)
++-XNoExposeEvent* i;
+++int 
+++XNoExposeEvent_send_event (XNoExposeEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XNoExposeEvent_send_event(i, j)
++-XNoExposeEvent* i;
++-int j;
+++void 
+++set_XNoExposeEvent_send_event (XNoExposeEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XNoExposeEvent_serial(i)
++-XNoExposeEvent* i;
+++int 
+++XNoExposeEvent_serial (XNoExposeEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XNoExposeEvent_serial(i, j)
++-XNoExposeEvent* i;
++-int j;
+++void 
+++set_XNoExposeEvent_serial (XNoExposeEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XNoExposeEvent_type(i)
++-XNoExposeEvent* i;
+++int 
+++XNoExposeEvent_type (XNoExposeEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XNoExposeEvent_type(i, j)
++-XNoExposeEvent* i;
++-int j;
+++void 
+++set_XNoExposeEvent_type (XNoExposeEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -1434,84 +1339,79 @@ int j;
++ 
++ /********* XVisibilityEvent functions *****/
++ 
++-long  make_XVisibilityEvent (){
+++long 
+++make_XVisibilityEvent (void){
++           return ((long) calloc(1, sizeof(XVisibilityEvent)));
++ }
++ 
++-int  XVisibilityEvent_state(i)
++-XVisibilityEvent* i;
+++int 
+++XVisibilityEvent_state (XVisibilityEvent *i)
++ {
++           return(i->state);
++ }
++ 
++-void set_XVisibilityEvent_state(i, j)
++-XVisibilityEvent* i;
++-int j;
+++void 
+++set_XVisibilityEvent_state (XVisibilityEvent *i, int j)
++ {
++           i->state = j;
++ }
++ 
++-int  XVisibilityEvent_window(i)
++-XVisibilityEvent* i;
+++int 
+++XVisibilityEvent_window (XVisibilityEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XVisibilityEvent_window(i, j)
++-XVisibilityEvent* i;
++-int j;
+++void 
+++set_XVisibilityEvent_window (XVisibilityEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XVisibilityEvent_display(i)
++-XVisibilityEvent* i;
+++long 
+++XVisibilityEvent_display (XVisibilityEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XVisibilityEvent_display(i, j)
++-XVisibilityEvent* i;
++-long j;
+++void 
+++set_XVisibilityEvent_display (XVisibilityEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XVisibilityEvent_send_event(i)
++-XVisibilityEvent* i;
+++int 
+++XVisibilityEvent_send_event (XVisibilityEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XVisibilityEvent_send_event(i, j)
++-XVisibilityEvent* i;
++-int j;
+++void 
+++set_XVisibilityEvent_send_event (XVisibilityEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XVisibilityEvent_serial(i)
++-XVisibilityEvent* i;
+++int 
+++XVisibilityEvent_serial (XVisibilityEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XVisibilityEvent_serial(i, j)
++-XVisibilityEvent* i;
++-int j;
+++void 
+++set_XVisibilityEvent_serial (XVisibilityEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XVisibilityEvent_type(i)
++-XVisibilityEvent* i;
+++int 
+++XVisibilityEvent_type (XVisibilityEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XVisibilityEvent_type(i, j)
++-XVisibilityEvent* i;
++-int j;
+++void 
+++set_XVisibilityEvent_type (XVisibilityEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -1519,162 +1419,151 @@ int j;
++ 
++ /********* XCreateWindowEvent functions *****/
++ 
++-long  make_XCreateWindowEvent (){
+++long 
+++make_XCreateWindowEvent (void){
++           return ((long) calloc(1, sizeof(XCreateWindowEvent)));
++ }
++ 
++-int  XCreateWindowEvent_override_redirect(i)
++-XCreateWindowEvent* i;
+++int 
+++XCreateWindowEvent_override_redirect (XCreateWindowEvent *i)
++ {
++           return(i->override_redirect);
++ }
++ 
++-void set_XCreateWindowEvent_override_redirect(i, j)
++-XCreateWindowEvent* i;
++-int j;
+++void 
+++set_XCreateWindowEvent_override_redirect (XCreateWindowEvent *i, int j)
++ {
++           i->override_redirect = j;
++ }
++ 
++-int  XCreateWindowEvent_border_width(i)
++-XCreateWindowEvent* i;
+++int 
+++XCreateWindowEvent_border_width (XCreateWindowEvent *i)
++ {
++           return(i->border_width);
++ }
++ 
++-void set_XCreateWindowEvent_border_width(i, j)
++-XCreateWindowEvent* i;
++-int j;
+++void 
+++set_XCreateWindowEvent_border_width (XCreateWindowEvent *i, int j)
++ {
++           i->border_width = j;
++ }
++ 
++-int  XCreateWindowEvent_height(i)
++-XCreateWindowEvent* i;
+++int 
+++XCreateWindowEvent_height (XCreateWindowEvent *i)
++ {
++           return(i->height);
++ }
++ 
++-void set_XCreateWindowEvent_height(i, j)
++-XCreateWindowEvent* i;
++-int j;
+++void 
+++set_XCreateWindowEvent_height (XCreateWindowEvent *i, int j)
++ {
++           i->height = j;
++ }
++ 
++-int  XCreateWindowEvent_width(i)
++-XCreateWindowEvent* i;
+++int 
+++XCreateWindowEvent_width (XCreateWindowEvent *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XCreateWindowEvent_width(i, j)
++-XCreateWindowEvent* i;
++-int j;
+++void 
+++set_XCreateWindowEvent_width (XCreateWindowEvent *i, int j)
++ {
++           i->width = j;
++ }
++ 
++-int  XCreateWindowEvent_y(i)
++-XCreateWindowEvent* i;
+++int 
+++XCreateWindowEvent_y (XCreateWindowEvent *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XCreateWindowEvent_y(i, j)
++-XCreateWindowEvent* i;
++-int j;
+++void 
+++set_XCreateWindowEvent_y (XCreateWindowEvent *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XCreateWindowEvent_x(i)
++-XCreateWindowEvent* i;
+++int 
+++XCreateWindowEvent_x (XCreateWindowEvent *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XCreateWindowEvent_x(i, j)
++-XCreateWindowEvent* i;
++-int j;
+++void 
+++set_XCreateWindowEvent_x (XCreateWindowEvent *i, int j)
++ {
++           i->x = j;
++ }
++ 
++-int  XCreateWindowEvent_window(i)
++-XCreateWindowEvent* i;
+++int 
+++XCreateWindowEvent_window (XCreateWindowEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XCreateWindowEvent_window(i, j)
++-XCreateWindowEvent* i;
++-int j;
+++void 
+++set_XCreateWindowEvent_window (XCreateWindowEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-int  XCreateWindowEvent_parent(i)
++-XCreateWindowEvent* i;
+++int 
+++XCreateWindowEvent_parent (XCreateWindowEvent *i)
++ {
++           return(i->parent);
++ }
++ 
++-void set_XCreateWindowEvent_parent(i, j)
++-XCreateWindowEvent* i;
++-int j;
+++void 
+++set_XCreateWindowEvent_parent (XCreateWindowEvent *i, int j)
++ {
++           i->parent = j;
++ }
++ 
++-long  XCreateWindowEvent_display(i)
++-XCreateWindowEvent* i;
+++long 
+++XCreateWindowEvent_display (XCreateWindowEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XCreateWindowEvent_display(i, j)
++-XCreateWindowEvent* i;
++-long j;
+++void 
+++set_XCreateWindowEvent_display (XCreateWindowEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XCreateWindowEvent_send_event(i)
++-XCreateWindowEvent* i;
+++int 
+++XCreateWindowEvent_send_event (XCreateWindowEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XCreateWindowEvent_send_event(i, j)
++-XCreateWindowEvent* i;
++-int j;
+++void 
+++set_XCreateWindowEvent_send_event (XCreateWindowEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XCreateWindowEvent_serial(i)
++-XCreateWindowEvent* i;
+++int 
+++XCreateWindowEvent_serial (XCreateWindowEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XCreateWindowEvent_serial(i, j)
++-XCreateWindowEvent* i;
++-int j;
+++void 
+++set_XCreateWindowEvent_serial (XCreateWindowEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XCreateWindowEvent_type(i)
++-XCreateWindowEvent* i;
+++int 
+++XCreateWindowEvent_type (XCreateWindowEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XCreateWindowEvent_type(i, j)
++-XCreateWindowEvent* i;
++-int j;
+++void 
+++set_XCreateWindowEvent_type (XCreateWindowEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -1682,84 +1571,79 @@ int j;
++ 
++ /********* XDestroyWindowEvent functions *****/
++ 
++-long  make_XDestroyWindowEvent (){
+++long 
+++make_XDestroyWindowEvent (void){
++           return ((long) calloc(1, sizeof(XDestroyWindowEvent)));
++ }
++ 
++-int  XDestroyWindowEvent_window(i)
++-XDestroyWindowEvent* i;
+++int 
+++XDestroyWindowEvent_window (XDestroyWindowEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XDestroyWindowEvent_window(i, j)
++-XDestroyWindowEvent* i;
++-int j;
+++void 
+++set_XDestroyWindowEvent_window (XDestroyWindowEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-int  XDestroyWindowEvent_event(i)
++-XDestroyWindowEvent* i;
+++int 
+++XDestroyWindowEvent_event (XDestroyWindowEvent *i)
++ {
++           return(i->event);
++ }
++ 
++-void set_XDestroyWindowEvent_event(i, j)
++-XDestroyWindowEvent* i;
++-int j;
+++void 
+++set_XDestroyWindowEvent_event (XDestroyWindowEvent *i, int j)
++ {
++           i->event = j;
++ }
++ 
++-long  XDestroyWindowEvent_display(i)
++-XDestroyWindowEvent* i;
+++long 
+++XDestroyWindowEvent_display (XDestroyWindowEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XDestroyWindowEvent_display(i, j)
++-XDestroyWindowEvent* i;
++-long j;
+++void 
+++set_XDestroyWindowEvent_display (XDestroyWindowEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XDestroyWindowEvent_send_event(i)
++-XDestroyWindowEvent* i;
+++int 
+++XDestroyWindowEvent_send_event (XDestroyWindowEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XDestroyWindowEvent_send_event(i, j)
++-XDestroyWindowEvent* i;
++-int j;
+++void 
+++set_XDestroyWindowEvent_send_event (XDestroyWindowEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XDestroyWindowEvent_serial(i)
++-XDestroyWindowEvent* i;
+++int 
+++XDestroyWindowEvent_serial (XDestroyWindowEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XDestroyWindowEvent_serial(i, j)
++-XDestroyWindowEvent* i;
++-int j;
+++void 
+++set_XDestroyWindowEvent_serial (XDestroyWindowEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XDestroyWindowEvent_type(i)
++-XDestroyWindowEvent* i;
+++int 
+++XDestroyWindowEvent_type (XDestroyWindowEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XDestroyWindowEvent_type(i, j)
++-XDestroyWindowEvent* i;
++-int j;
+++void 
+++set_XDestroyWindowEvent_type (XDestroyWindowEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -1767,97 +1651,91 @@ int j;
++ 
++ /********* XUnmapEvent functions *****/
++ 
++-long  make_XUnmapEvent (){
+++long 
+++make_XUnmapEvent (void){
++           return ((long) calloc(1, sizeof(XUnmapEvent)));
++ }
++ 
++-int  XUnmapEvent_from_configure(i)
++-XUnmapEvent* i;
+++int 
+++XUnmapEvent_from_configure (XUnmapEvent *i)
++ {
++           return(i->from_configure);
++ }
++ 
++-void set_XUnmapEvent_from_configure(i, j)
++-XUnmapEvent* i;
++-int j;
+++void 
+++set_XUnmapEvent_from_configure (XUnmapEvent *i, int j)
++ {
++           i->from_configure = j;
++ }
++ 
++-int  XUnmapEvent_window(i)
++-XUnmapEvent* i;
+++int 
+++XUnmapEvent_window (XUnmapEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XUnmapEvent_window(i, j)
++-XUnmapEvent* i;
++-int j;
+++void 
+++set_XUnmapEvent_window (XUnmapEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-int  XUnmapEvent_event(i)
++-XUnmapEvent* i;
+++int 
+++XUnmapEvent_event (XUnmapEvent *i)
++ {
++           return(i->event);
++ }
++ 
++-void set_XUnmapEvent_event(i, j)
++-XUnmapEvent* i;
++-int j;
+++void 
+++set_XUnmapEvent_event (XUnmapEvent *i, int j)
++ {
++           i->event = j;
++ }
++ 
++-long  XUnmapEvent_display(i)
++-XUnmapEvent* i;
+++long 
+++XUnmapEvent_display (XUnmapEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XUnmapEvent_display(i, j)
++-XUnmapEvent* i;
++-long j;
+++void 
+++set_XUnmapEvent_display (XUnmapEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XUnmapEvent_send_event(i)
++-XUnmapEvent* i;
+++int 
+++XUnmapEvent_send_event (XUnmapEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XUnmapEvent_send_event(i, j)
++-XUnmapEvent* i;
++-int j;
+++void 
+++set_XUnmapEvent_send_event (XUnmapEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XUnmapEvent_serial(i)
++-XUnmapEvent* i;
+++int 
+++XUnmapEvent_serial (XUnmapEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XUnmapEvent_serial(i, j)
++-XUnmapEvent* i;
++-int j;
+++void 
+++set_XUnmapEvent_serial (XUnmapEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XUnmapEvent_type(i)
++-XUnmapEvent* i;
+++int 
+++XUnmapEvent_type (XUnmapEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XUnmapEvent_type(i, j)
++-XUnmapEvent* i;
++-int j;
+++void 
+++set_XUnmapEvent_type (XUnmapEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -1865,97 +1743,91 @@ int j;
++ 
++ /********* XMapEvent functions *****/
++ 
++-long  make_XMapEvent (){
+++long 
+++make_XMapEvent (void){
++           return ((long) calloc(1, sizeof(XMapEvent)));
++ }
++ 
++-int  XMapEvent_override_redirect(i)
++-XMapEvent* i;
+++int 
+++XMapEvent_override_redirect (XMapEvent *i)
++ {
++           return(i->override_redirect);
++ }
++ 
++-void set_XMapEvent_override_redirect(i, j)
++-XMapEvent* i;
++-int j;
+++void 
+++set_XMapEvent_override_redirect (XMapEvent *i, int j)
++ {
++           i->override_redirect = j;
++ }
++ 
++-int  XMapEvent_window(i)
++-XMapEvent* i;
+++int 
+++XMapEvent_window (XMapEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XMapEvent_window(i, j)
++-XMapEvent* i;
++-int j;
+++void 
+++set_XMapEvent_window (XMapEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-int  XMapEvent_event(i)
++-XMapEvent* i;
+++int 
+++XMapEvent_event (XMapEvent *i)
++ {
++           return(i->event);
++ }
++ 
++-void set_XMapEvent_event(i, j)
++-XMapEvent* i;
++-int j;
+++void 
+++set_XMapEvent_event (XMapEvent *i, int j)
++ {
++           i->event = j;
++ }
++ 
++-long  XMapEvent_display(i)
++-XMapEvent* i;
+++long 
+++XMapEvent_display (XMapEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XMapEvent_display(i, j)
++-XMapEvent* i;
++-long j;
+++void 
+++set_XMapEvent_display (XMapEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XMapEvent_send_event(i)
++-XMapEvent* i;
+++int 
+++XMapEvent_send_event (XMapEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XMapEvent_send_event(i, j)
++-XMapEvent* i;
++-int j;
+++void 
+++set_XMapEvent_send_event (XMapEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XMapEvent_serial(i)
++-XMapEvent* i;
+++int 
+++XMapEvent_serial (XMapEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XMapEvent_serial(i, j)
++-XMapEvent* i;
++-int j;
+++void 
+++set_XMapEvent_serial (XMapEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XMapEvent_type(i)
++-XMapEvent* i;
+++int 
+++XMapEvent_type (XMapEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XMapEvent_type(i, j)
++-XMapEvent* i;
++-int j;
+++void 
+++set_XMapEvent_type (XMapEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -1963,84 +1835,79 @@ int j;
++ 
++ /********* XMapRequestEvent functions *****/
++ 
++-long  make_XMapRequestEvent (){
+++long 
+++make_XMapRequestEvent (void){
++           return ((long) calloc(1, sizeof(XMapRequestEvent)));
++ }
++ 
++-int  XMapRequestEvent_window(i)
++-XMapRequestEvent* i;
+++int 
+++XMapRequestEvent_window (XMapRequestEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XMapRequestEvent_window(i, j)
++-XMapRequestEvent* i;
++-int j;
+++void 
+++set_XMapRequestEvent_window (XMapRequestEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-int  XMapRequestEvent_parent(i)
++-XMapRequestEvent* i;
+++int 
+++XMapRequestEvent_parent (XMapRequestEvent *i)
++ {
++           return(i->parent);
++ }
++ 
++-void set_XMapRequestEvent_parent(i, j)
++-XMapRequestEvent* i;
++-int j;
+++void 
+++set_XMapRequestEvent_parent (XMapRequestEvent *i, int j)
++ {
++           i->parent = j;
++ }
++ 
++-long  XMapRequestEvent_display(i)
++-XMapRequestEvent* i;
+++long 
+++XMapRequestEvent_display (XMapRequestEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XMapRequestEvent_display(i, j)
++-XMapRequestEvent* i;
++-long j;
+++void 
+++set_XMapRequestEvent_display (XMapRequestEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XMapRequestEvent_send_event(i)
++-XMapRequestEvent* i;
+++int 
+++XMapRequestEvent_send_event (XMapRequestEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XMapRequestEvent_send_event(i, j)
++-XMapRequestEvent* i;
++-int j;
+++void 
+++set_XMapRequestEvent_send_event (XMapRequestEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XMapRequestEvent_serial(i)
++-XMapRequestEvent* i;
+++int 
+++XMapRequestEvent_serial (XMapRequestEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XMapRequestEvent_serial(i, j)
++-XMapRequestEvent* i;
++-int j;
+++void 
+++set_XMapRequestEvent_serial (XMapRequestEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XMapRequestEvent_type(i)
++-XMapRequestEvent* i;
+++int 
+++XMapRequestEvent_type (XMapRequestEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XMapRequestEvent_type(i, j)
++-XMapRequestEvent* i;
++-int j;
+++void 
+++set_XMapRequestEvent_type (XMapRequestEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -2048,136 +1915,127 @@ int j;
++ 
++ /********* XReparentEvent functions *****/
++ 
++-long  make_XReparentEvent (){
+++long 
+++make_XReparentEvent (void){
++           return ((long) calloc(1, sizeof(XReparentEvent)));
++ }
++ 
++-int  XReparentEvent_override_redirect(i)
++-XReparentEvent* i;
+++int 
+++XReparentEvent_override_redirect (XReparentEvent *i)
++ {
++           return(i->override_redirect);
++ }
++ 
++-void set_XReparentEvent_override_redirect(i, j)
++-XReparentEvent* i;
++-int j;
+++void 
+++set_XReparentEvent_override_redirect (XReparentEvent *i, int j)
++ {
++           i->override_redirect = j;
++ }
++ 
++-int  XReparentEvent_y(i)
++-XReparentEvent* i;
+++int 
+++XReparentEvent_y (XReparentEvent *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XReparentEvent_y(i, j)
++-XReparentEvent* i;
++-int j;
+++void 
+++set_XReparentEvent_y (XReparentEvent *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XReparentEvent_x(i)
++-XReparentEvent* i;
+++int 
+++XReparentEvent_x (XReparentEvent *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XReparentEvent_x(i, j)
++-XReparentEvent* i;
++-int j;
+++void 
+++set_XReparentEvent_x (XReparentEvent *i, int j)
++ {
++           i->x = j;
++ }
++ 
++-int  XReparentEvent_parent(i)
++-XReparentEvent* i;
+++int 
+++XReparentEvent_parent (XReparentEvent *i)
++ {
++           return(i->parent);
++ }
++ 
++-void set_XReparentEvent_parent(i, j)
++-XReparentEvent* i;
++-int j;
+++void 
+++set_XReparentEvent_parent (XReparentEvent *i, int j)
++ {
++           i->parent = j;
++ }
++ 
++-int  XReparentEvent_window(i)
++-XReparentEvent* i;
+++int 
+++XReparentEvent_window (XReparentEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XReparentEvent_window(i, j)
++-XReparentEvent* i;
++-int j;
+++void 
+++set_XReparentEvent_window (XReparentEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-int  XReparentEvent_event(i)
++-XReparentEvent* i;
+++int 
+++XReparentEvent_event (XReparentEvent *i)
++ {
++           return(i->event);
++ }
++ 
++-void set_XReparentEvent_event(i, j)
++-XReparentEvent* i;
++-int j;
+++void 
+++set_XReparentEvent_event (XReparentEvent *i, int j)
++ {
++           i->event = j;
++ }
++ 
++-long  XReparentEvent_display(i)
++-XReparentEvent* i;
+++long 
+++XReparentEvent_display (XReparentEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XReparentEvent_display(i, j)
++-XReparentEvent* i;
++-long j;
+++void 
+++set_XReparentEvent_display (XReparentEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XReparentEvent_send_event(i)
++-XReparentEvent* i;
+++int 
+++XReparentEvent_send_event (XReparentEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XReparentEvent_send_event(i, j)
++-XReparentEvent* i;
++-int j;
+++void 
+++set_XReparentEvent_send_event (XReparentEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XReparentEvent_serial(i)
++-XReparentEvent* i;
+++int 
+++XReparentEvent_serial (XReparentEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XReparentEvent_serial(i, j)
++-XReparentEvent* i;
++-int j;
+++void 
+++set_XReparentEvent_serial (XReparentEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XReparentEvent_type(i)
++-XReparentEvent* i;
+++int 
+++XReparentEvent_type (XReparentEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XReparentEvent_type(i, j)
++-XReparentEvent* i;
++-int j;
+++void 
+++set_XReparentEvent_type (XReparentEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -2185,175 +2043,163 @@ int j;
++ 
++ /********* XConfigureEvent functions *****/
++ 
++-long  make_XConfigureEvent (){
+++long 
+++make_XConfigureEvent (void){
++           return ((long) calloc(1, sizeof(XConfigureEvent)));
++ }
++ 
++-int  XConfigureEvent_override_redirect(i)
++-XConfigureEvent* i;
+++int 
+++XConfigureEvent_override_redirect (XConfigureEvent *i)
++ {
++           return(i->override_redirect);
++ }
++ 
++-void set_XConfigureEvent_override_redirect(i, j)
++-XConfigureEvent* i;
++-int j;
+++void 
+++set_XConfigureEvent_override_redirect (XConfigureEvent *i, int j)
++ {
++           i->override_redirect = j;
++ }
++ 
++-int  XConfigureEvent_above(i)
++-XConfigureEvent* i;
+++int 
+++XConfigureEvent_above (XConfigureEvent *i)
++ {
++           return(i->above);
++ }
++ 
++-void set_XConfigureEvent_above(i, j)
++-XConfigureEvent* i;
++-int j;
+++void 
+++set_XConfigureEvent_above (XConfigureEvent *i, int j)
++ {
++           i->above = j;
++ }
++ 
++-int  XConfigureEvent_border_width(i)
++-XConfigureEvent* i;
+++int 
+++XConfigureEvent_border_width (XConfigureEvent *i)
++ {
++           return(i->border_width);
++ }
++ 
++-void set_XConfigureEvent_border_width(i, j)
++-XConfigureEvent* i;
++-int j;
+++void 
+++set_XConfigureEvent_border_width (XConfigureEvent *i, int j)
++ {
++           i->border_width = j;
++ }
++ 
++-int  XConfigureEvent_height(i)
++-XConfigureEvent* i;
+++int 
+++XConfigureEvent_height (XConfigureEvent *i)
++ {
++           return(i->height);
++ }
++ 
++-void set_XConfigureEvent_height(i, j)
++-XConfigureEvent* i;
++-int j;
+++void 
+++set_XConfigureEvent_height (XConfigureEvent *i, int j)
++ {
++           i->height = j;
++ }
++ 
++-int  XConfigureEvent_width(i)
++-XConfigureEvent* i;
+++int 
+++XConfigureEvent_width (XConfigureEvent *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XConfigureEvent_width(i, j)
++-XConfigureEvent* i;
++-int j;
+++void 
+++set_XConfigureEvent_width (XConfigureEvent *i, int j)
++ {
++           i->width = j;
++ }
++ 
++-int  XConfigureEvent_y(i)
++-XConfigureEvent* i;
+++int 
+++XConfigureEvent_y (XConfigureEvent *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XConfigureEvent_y(i, j)
++-XConfigureEvent* i;
++-int j;
+++void 
+++set_XConfigureEvent_y (XConfigureEvent *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XConfigureEvent_x(i)
++-XConfigureEvent* i;
+++int 
+++XConfigureEvent_x (XConfigureEvent *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XConfigureEvent_x(i, j)
++-XConfigureEvent* i;
++-int j;
+++void 
+++set_XConfigureEvent_x (XConfigureEvent *i, int j)
++ {
++           i->x = j;
++ }
++ 
++-int  XConfigureEvent_window(i)
++-XConfigureEvent* i;
+++int 
+++XConfigureEvent_window (XConfigureEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XConfigureEvent_window(i, j)
++-XConfigureEvent* i;
++-int j;
+++void 
+++set_XConfigureEvent_window (XConfigureEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-int  XConfigureEvent_event(i)
++-XConfigureEvent* i;
+++int 
+++XConfigureEvent_event (XConfigureEvent *i)
++ {
++           return(i->event);
++ }
++ 
++-void set_XConfigureEvent_event(i, j)
++-XConfigureEvent* i;
++-int j;
+++void 
+++set_XConfigureEvent_event (XConfigureEvent *i, int j)
++ {
++           i->event = j;
++ }
++ 
++-long  XConfigureEvent_display(i)
++-XConfigureEvent* i;
+++long 
+++XConfigureEvent_display (XConfigureEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XConfigureEvent_display(i, j)
++-XConfigureEvent* i;
++-long j;
+++void 
+++set_XConfigureEvent_display (XConfigureEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XConfigureEvent_send_event(i)
++-XConfigureEvent* i;
+++int 
+++XConfigureEvent_send_event (XConfigureEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XConfigureEvent_send_event(i, j)
++-XConfigureEvent* i;
++-int j;
+++void 
+++set_XConfigureEvent_send_event (XConfigureEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XConfigureEvent_serial(i)
++-XConfigureEvent* i;
+++int 
+++XConfigureEvent_serial (XConfigureEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XConfigureEvent_serial(i, j)
++-XConfigureEvent* i;
++-int j;
+++void 
+++set_XConfigureEvent_serial (XConfigureEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XConfigureEvent_type(i)
++-XConfigureEvent* i;
+++int 
+++XConfigureEvent_type (XConfigureEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XConfigureEvent_type(i, j)
++-XConfigureEvent* i;
++-int j;
+++void 
+++set_XConfigureEvent_type (XConfigureEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -2361,110 +2207,103 @@ int j;
++ 
++ /********* XGravityEvent functions *****/
++ 
++-long  make_XGravityEvent (){
+++long 
+++make_XGravityEvent (void){
++           return ((long) calloc(1, sizeof(XGravityEvent)));
++ }
++ 
++-int  XGravityEvent_y(i)
++-XGravityEvent* i;
+++int 
+++XGravityEvent_y (XGravityEvent *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XGravityEvent_y(i, j)
++-XGravityEvent* i;
++-int j;
+++void 
+++set_XGravityEvent_y (XGravityEvent *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XGravityEvent_x(i)
++-XGravityEvent* i;
+++int 
+++XGravityEvent_x (XGravityEvent *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XGravityEvent_x(i, j)
++-XGravityEvent* i;
++-int j;
+++void 
+++set_XGravityEvent_x (XGravityEvent *i, int j)
++ {
++           i->x = j;
++ }
++ 
++-int  XGravityEvent_window(i)
++-XGravityEvent* i;
+++int 
+++XGravityEvent_window (XGravityEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XGravityEvent_window(i, j)
++-XGravityEvent* i;
++-int j;
+++void 
+++set_XGravityEvent_window (XGravityEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-int  XGravityEvent_event(i)
++-XGravityEvent* i;
+++int 
+++XGravityEvent_event (XGravityEvent *i)
++ {
++           return(i->event);
++ }
++ 
++-void set_XGravityEvent_event(i, j)
++-XGravityEvent* i;
++-int j;
+++void 
+++set_XGravityEvent_event (XGravityEvent *i, int j)
++ {
++           i->event = j;
++ }
++ 
++-long  XGravityEvent_display(i)
++-XGravityEvent* i;
+++long 
+++XGravityEvent_display (XGravityEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XGravityEvent_display(i, j)
++-XGravityEvent* i;
++-long j;
+++void 
+++set_XGravityEvent_display (XGravityEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XGravityEvent_send_event(i)
++-XGravityEvent* i;
+++int 
+++XGravityEvent_send_event (XGravityEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XGravityEvent_send_event(i, j)
++-XGravityEvent* i;
++-int j;
+++void 
+++set_XGravityEvent_send_event (XGravityEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XGravityEvent_serial(i)
++-XGravityEvent* i;
+++int 
+++XGravityEvent_serial (XGravityEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XGravityEvent_serial(i, j)
++-XGravityEvent* i;
++-int j;
+++void 
+++set_XGravityEvent_serial (XGravityEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XGravityEvent_type(i)
++-XGravityEvent* i;
+++int 
+++XGravityEvent_type (XGravityEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XGravityEvent_type(i, j)
++-XGravityEvent* i;
++-int j;
+++void 
+++set_XGravityEvent_type (XGravityEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -2472,97 +2311,91 @@ int j;
++ 
++ /********* XResizeRequestEvent functions *****/
++ 
++-long  make_XResizeRequestEvent (){
+++long 
+++make_XResizeRequestEvent (void){
++           return ((long) calloc(1, sizeof(XResizeRequestEvent)));
++ }
++ 
++-int  XResizeRequestEvent_height(i)
++-XResizeRequestEvent* i;
+++int 
+++XResizeRequestEvent_height (XResizeRequestEvent *i)
++ {
++           return(i->height);
++ }
++ 
++-void set_XResizeRequestEvent_height(i, j)
++-XResizeRequestEvent* i;
++-int j;
+++void 
+++set_XResizeRequestEvent_height (XResizeRequestEvent *i, int j)
++ {
++           i->height = j;
++ }
++ 
++-int  XResizeRequestEvent_width(i)
++-XResizeRequestEvent* i;
+++int 
+++XResizeRequestEvent_width (XResizeRequestEvent *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XResizeRequestEvent_width(i, j)
++-XResizeRequestEvent* i;
++-int j;
+++void 
+++set_XResizeRequestEvent_width (XResizeRequestEvent *i, int j)
++ {
++           i->width = j;
++ }
++ 
++-int  XResizeRequestEvent_window(i)
++-XResizeRequestEvent* i;
+++int 
+++XResizeRequestEvent_window (XResizeRequestEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XResizeRequestEvent_window(i, j)
++-XResizeRequestEvent* i;
++-int j;
+++void 
+++set_XResizeRequestEvent_window (XResizeRequestEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XResizeRequestEvent_display(i)
++-XResizeRequestEvent* i;
+++long 
+++XResizeRequestEvent_display (XResizeRequestEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XResizeRequestEvent_display(i, j)
++-XResizeRequestEvent* i;
++-long j;
+++void 
+++set_XResizeRequestEvent_display (XResizeRequestEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XResizeRequestEvent_send_event(i)
++-XResizeRequestEvent* i;
+++int 
+++XResizeRequestEvent_send_event (XResizeRequestEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XResizeRequestEvent_send_event(i, j)
++-XResizeRequestEvent* i;
++-int j;
+++void 
+++set_XResizeRequestEvent_send_event (XResizeRequestEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XResizeRequestEvent_serial(i)
++-XResizeRequestEvent* i;
+++int 
+++XResizeRequestEvent_serial (XResizeRequestEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XResizeRequestEvent_serial(i, j)
++-XResizeRequestEvent* i;
++-int j;
+++void 
+++set_XResizeRequestEvent_serial (XResizeRequestEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XResizeRequestEvent_type(i)
++-XResizeRequestEvent* i;
+++int 
+++XResizeRequestEvent_type (XResizeRequestEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XResizeRequestEvent_type(i, j)
++-XResizeRequestEvent* i;
++-int j;
+++void 
+++set_XResizeRequestEvent_type (XResizeRequestEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -2570,188 +2403,175 @@ int j;
++ 
++ /********* XConfigureRequestEvent functions *****/
++ 
++-long  make_XConfigureRequestEvent (){
+++long 
+++make_XConfigureRequestEvent (void){
++           return ((long) calloc(1, sizeof(XConfigureRequestEvent)));
++ }
++ 
++-int  XConfigureRequestEvent_value_mask(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_value_mask (XConfigureRequestEvent *i)
++ {
++           return(i->value_mask);
++ }
++ 
++-void set_XConfigureRequestEvent_value_mask(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_value_mask (XConfigureRequestEvent *i, int j)
++ {
++           i->value_mask = j;
++ }
++ 
++-int  XConfigureRequestEvent_detail(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_detail (XConfigureRequestEvent *i)
++ {
++           return(i->detail);
++ }
++ 
++-void set_XConfigureRequestEvent_detail(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_detail (XConfigureRequestEvent *i, int j)
++ {
++           i->detail = j;
++ }
++ 
++-int  XConfigureRequestEvent_above(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_above (XConfigureRequestEvent *i)
++ {
++           return(i->above);
++ }
++ 
++-void set_XConfigureRequestEvent_above(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_above (XConfigureRequestEvent *i, int j)
++ {
++           i->above = j;
++ }
++ 
++-int  XConfigureRequestEvent_border_width(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_border_width (XConfigureRequestEvent *i)
++ {
++           return(i->border_width);
++ }
++ 
++-void set_XConfigureRequestEvent_border_width(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_border_width (XConfigureRequestEvent *i, int j)
++ {
++           i->border_width = j;
++ }
++ 
++-int  XConfigureRequestEvent_height(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_height (XConfigureRequestEvent *i)
++ {
++           return(i->height);
++ }
++ 
++-void set_XConfigureRequestEvent_height(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_height (XConfigureRequestEvent *i, int j)
++ {
++           i->height = j;
++ }
++ 
++-int  XConfigureRequestEvent_width(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_width (XConfigureRequestEvent *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XConfigureRequestEvent_width(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_width (XConfigureRequestEvent *i, int j)
++ {
++           i->width = j;
++ }
++ 
++-int  XConfigureRequestEvent_y(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_y (XConfigureRequestEvent *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XConfigureRequestEvent_y(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_y (XConfigureRequestEvent *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XConfigureRequestEvent_x(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_x (XConfigureRequestEvent *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XConfigureRequestEvent_x(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_x (XConfigureRequestEvent *i, int j)
++ {
++           i->x = j;
++ }
++ 
++-int  XConfigureRequestEvent_window(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_window (XConfigureRequestEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XConfigureRequestEvent_window(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_window (XConfigureRequestEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-int  XConfigureRequestEvent_parent(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_parent (XConfigureRequestEvent *i)
++ {
++           return(i->parent);
++ }
++ 
++-void set_XConfigureRequestEvent_parent(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_parent (XConfigureRequestEvent *i, int j)
++ {
++           i->parent = j;
++ }
++ 
++-long  XConfigureRequestEvent_display(i)
++-XConfigureRequestEvent* i;
+++long 
+++XConfigureRequestEvent_display (XConfigureRequestEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XConfigureRequestEvent_display(i, j)
++-XConfigureRequestEvent* i;
++-long j;
+++void 
+++set_XConfigureRequestEvent_display (XConfigureRequestEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XConfigureRequestEvent_send_event(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_send_event (XConfigureRequestEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XConfigureRequestEvent_send_event(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_send_event (XConfigureRequestEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XConfigureRequestEvent_serial(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_serial (XConfigureRequestEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XConfigureRequestEvent_serial(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_serial (XConfigureRequestEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XConfigureRequestEvent_type(i)
++-XConfigureRequestEvent* i;
+++int 
+++XConfigureRequestEvent_type (XConfigureRequestEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XConfigureRequestEvent_type(i, j)
++-XConfigureRequestEvent* i;
++-int j;
+++void 
+++set_XConfigureRequestEvent_type (XConfigureRequestEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -2759,97 +2579,91 @@ int j;
++ 
++ /********* XCirculateEvent functions *****/
++ 
++-long  make_XCirculateEvent (){
+++long 
+++make_XCirculateEvent (void){
++           return ((long) calloc(1, sizeof(XCirculateEvent)));
++ }
++ 
++-int  XCirculateEvent_place(i)
++-XCirculateEvent* i;
+++int 
+++XCirculateEvent_place (XCirculateEvent *i)
++ {
++           return(i->place);
++ }
++ 
++-void set_XCirculateEvent_place(i, j)
++-XCirculateEvent* i;
++-int j;
+++void 
+++set_XCirculateEvent_place (XCirculateEvent *i, int j)
++ {
++           i->place = j;
++ }
++ 
++-int  XCirculateEvent_window(i)
++-XCirculateEvent* i;
+++int 
+++XCirculateEvent_window (XCirculateEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XCirculateEvent_window(i, j)
++-XCirculateEvent* i;
++-int j;
+++void 
+++set_XCirculateEvent_window (XCirculateEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-int  XCirculateEvent_event(i)
++-XCirculateEvent* i;
+++int 
+++XCirculateEvent_event (XCirculateEvent *i)
++ {
++           return(i->event);
++ }
++ 
++-void set_XCirculateEvent_event(i, j)
++-XCirculateEvent* i;
++-int j;
+++void 
+++set_XCirculateEvent_event (XCirculateEvent *i, int j)
++ {
++           i->event = j;
++ }
++ 
++-long  XCirculateEvent_display(i)
++-XCirculateEvent* i;
+++long 
+++XCirculateEvent_display (XCirculateEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XCirculateEvent_display(i, j)
++-XCirculateEvent* i;
++-long j;
+++void 
+++set_XCirculateEvent_display (XCirculateEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XCirculateEvent_send_event(i)
++-XCirculateEvent* i;
+++int 
+++XCirculateEvent_send_event (XCirculateEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XCirculateEvent_send_event(i, j)
++-XCirculateEvent* i;
++-int j;
+++void 
+++set_XCirculateEvent_send_event (XCirculateEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XCirculateEvent_serial(i)
++-XCirculateEvent* i;
+++int 
+++XCirculateEvent_serial (XCirculateEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XCirculateEvent_serial(i, j)
++-XCirculateEvent* i;
++-int j;
+++void 
+++set_XCirculateEvent_serial (XCirculateEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XCirculateEvent_type(i)
++-XCirculateEvent* i;
+++int 
+++XCirculateEvent_type (XCirculateEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XCirculateEvent_type(i, j)
++-XCirculateEvent* i;
++-int j;
+++void 
+++set_XCirculateEvent_type (XCirculateEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -2857,97 +2671,91 @@ int j;
++ 
++ /********* XCirculateRequestEvent functions *****/
++ 
++-long  make_XCirculateRequestEvent (){
+++long 
+++make_XCirculateRequestEvent (void){
++           return ((long) calloc(1, sizeof(XCirculateRequestEvent)));
++ }
++ 
++-int  XCirculateRequestEvent_place(i)
++-XCirculateRequestEvent* i;
+++int 
+++XCirculateRequestEvent_place (XCirculateRequestEvent *i)
++ {
++           return(i->place);
++ }
++ 
++-void set_XCirculateRequestEvent_place(i, j)
++-XCirculateRequestEvent* i;
++-int j;
+++void 
+++set_XCirculateRequestEvent_place (XCirculateRequestEvent *i, int j)
++ {
++           i->place = j;
++ }
++ 
++-int  XCirculateRequestEvent_window(i)
++-XCirculateRequestEvent* i;
+++int 
+++XCirculateRequestEvent_window (XCirculateRequestEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XCirculateRequestEvent_window(i, j)
++-XCirculateRequestEvent* i;
++-int j;
+++void 
+++set_XCirculateRequestEvent_window (XCirculateRequestEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-int  XCirculateRequestEvent_parent(i)
++-XCirculateRequestEvent* i;
+++int 
+++XCirculateRequestEvent_parent (XCirculateRequestEvent *i)
++ {
++           return(i->parent);
++ }
++ 
++-void set_XCirculateRequestEvent_parent(i, j)
++-XCirculateRequestEvent* i;
++-int j;
+++void 
+++set_XCirculateRequestEvent_parent (XCirculateRequestEvent *i, int j)
++ {
++           i->parent = j;
++ }
++ 
++-long  XCirculateRequestEvent_display(i)
++-XCirculateRequestEvent* i;
+++long 
+++XCirculateRequestEvent_display (XCirculateRequestEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XCirculateRequestEvent_display(i, j)
++-XCirculateRequestEvent* i;
++-long j;
+++void 
+++set_XCirculateRequestEvent_display (XCirculateRequestEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XCirculateRequestEvent_send_event(i)
++-XCirculateRequestEvent* i;
+++int 
+++XCirculateRequestEvent_send_event (XCirculateRequestEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XCirculateRequestEvent_send_event(i, j)
++-XCirculateRequestEvent* i;
++-int j;
+++void 
+++set_XCirculateRequestEvent_send_event (XCirculateRequestEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XCirculateRequestEvent_serial(i)
++-XCirculateRequestEvent* i;
+++int 
+++XCirculateRequestEvent_serial (XCirculateRequestEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XCirculateRequestEvent_serial(i, j)
++-XCirculateRequestEvent* i;
++-int j;
+++void 
+++set_XCirculateRequestEvent_serial (XCirculateRequestEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XCirculateRequestEvent_type(i)
++-XCirculateRequestEvent* i;
+++int 
+++XCirculateRequestEvent_type (XCirculateRequestEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XCirculateRequestEvent_type(i, j)
++-XCirculateRequestEvent* i;
++-int j;
+++void 
+++set_XCirculateRequestEvent_type (XCirculateRequestEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -2955,110 +2763,103 @@ int j;
++ 
++ /********* XPropertyEvent functions *****/
++ 
++-long  make_XPropertyEvent (){
+++long 
+++make_XPropertyEvent (void){
++           return ((long) calloc(1, sizeof(XPropertyEvent)));
++ }
++ 
++-int  XPropertyEvent_state(i)
++-XPropertyEvent* i;
+++int 
+++XPropertyEvent_state (XPropertyEvent *i)
++ {
++           return(i->state);
++ }
++ 
++-void set_XPropertyEvent_state(i, j)
++-XPropertyEvent* i;
++-int j;
+++void 
+++set_XPropertyEvent_state (XPropertyEvent *i, int j)
++ {
++           i->state = j;
++ }
++ 
++-int  XPropertyEvent_time(i)
++-XPropertyEvent* i;
+++int 
+++XPropertyEvent_time (XPropertyEvent *i)
++ {
++           return(i->time);
++ }
++ 
++-void set_XPropertyEvent_time(i, j)
++-XPropertyEvent* i;
++-int j;
+++void 
+++set_XPropertyEvent_time (XPropertyEvent *i, int j)
++ {
++           i->time = j;
++ }
++ 
++-int  XPropertyEvent_atom(i)
++-XPropertyEvent* i;
+++int 
+++XPropertyEvent_atom (XPropertyEvent *i)
++ {
++           return(i->atom);
++ }
++ 
++-void set_XPropertyEvent_atom(i, j)
++-XPropertyEvent* i;
++-int j;
+++void 
+++set_XPropertyEvent_atom (XPropertyEvent *i, int j)
++ {
++           i->atom = j;
++ }
++ 
++-int  XPropertyEvent_window(i)
++-XPropertyEvent* i;
+++int 
+++XPropertyEvent_window (XPropertyEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XPropertyEvent_window(i, j)
++-XPropertyEvent* i;
++-int j;
+++void 
+++set_XPropertyEvent_window (XPropertyEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XPropertyEvent_display(i)
++-XPropertyEvent* i;
+++long 
+++XPropertyEvent_display (XPropertyEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XPropertyEvent_display(i, j)
++-XPropertyEvent* i;
++-long j;
+++void 
+++set_XPropertyEvent_display (XPropertyEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XPropertyEvent_send_event(i)
++-XPropertyEvent* i;
+++int 
+++XPropertyEvent_send_event (XPropertyEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XPropertyEvent_send_event(i, j)
++-XPropertyEvent* i;
++-int j;
+++void 
+++set_XPropertyEvent_send_event (XPropertyEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XPropertyEvent_serial(i)
++-XPropertyEvent* i;
+++int 
+++XPropertyEvent_serial (XPropertyEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XPropertyEvent_serial(i, j)
++-XPropertyEvent* i;
++-int j;
+++void 
+++set_XPropertyEvent_serial (XPropertyEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XPropertyEvent_type(i)
++-XPropertyEvent* i;
+++int 
+++XPropertyEvent_type (XPropertyEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XPropertyEvent_type(i, j)
++-XPropertyEvent* i;
++-int j;
+++void 
+++set_XPropertyEvent_type (XPropertyEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -3066,97 +2867,91 @@ int j;
++ 
++ /********* XSelectionClearEvent functions *****/
++ 
++-long  make_XSelectionClearEvent (){
+++long 
+++make_XSelectionClearEvent (void){
++           return ((long) calloc(1, sizeof(XSelectionClearEvent)));
++ }
++ 
++-int  XSelectionClearEvent_time(i)
++-XSelectionClearEvent* i;
+++int 
+++XSelectionClearEvent_time (XSelectionClearEvent *i)
++ {
++           return(i->time);
++ }
++ 
++-void set_XSelectionClearEvent_time(i, j)
++-XSelectionClearEvent* i;
++-int j;
+++void 
+++set_XSelectionClearEvent_time (XSelectionClearEvent *i, int j)
++ {
++           i->time = j;
++ }
++ 
++-int  XSelectionClearEvent_selection(i)
++-XSelectionClearEvent* i;
+++int 
+++XSelectionClearEvent_selection (XSelectionClearEvent *i)
++ {
++           return(i->selection);
++ }
++ 
++-void set_XSelectionClearEvent_selection(i, j)
++-XSelectionClearEvent* i;
++-int j;
+++void 
+++set_XSelectionClearEvent_selection (XSelectionClearEvent *i, int j)
++ {
++           i->selection = j;
++ }
++ 
++-int  XSelectionClearEvent_window(i)
++-XSelectionClearEvent* i;
+++int 
+++XSelectionClearEvent_window (XSelectionClearEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XSelectionClearEvent_window(i, j)
++-XSelectionClearEvent* i;
++-int j;
+++void 
+++set_XSelectionClearEvent_window (XSelectionClearEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XSelectionClearEvent_display(i)
++-XSelectionClearEvent* i;
+++long 
+++XSelectionClearEvent_display (XSelectionClearEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XSelectionClearEvent_display(i, j)
++-XSelectionClearEvent* i;
++-long j;
+++void 
+++set_XSelectionClearEvent_display (XSelectionClearEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XSelectionClearEvent_send_event(i)
++-XSelectionClearEvent* i;
+++int 
+++XSelectionClearEvent_send_event (XSelectionClearEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XSelectionClearEvent_send_event(i, j)
++-XSelectionClearEvent* i;
++-int j;
+++void 
+++set_XSelectionClearEvent_send_event (XSelectionClearEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XSelectionClearEvent_serial(i)
++-XSelectionClearEvent* i;
+++int 
+++XSelectionClearEvent_serial (XSelectionClearEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XSelectionClearEvent_serial(i, j)
++-XSelectionClearEvent* i;
++-int j;
+++void 
+++set_XSelectionClearEvent_serial (XSelectionClearEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XSelectionClearEvent_type(i)
++-XSelectionClearEvent* i;
+++int 
+++XSelectionClearEvent_type (XSelectionClearEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XSelectionClearEvent_type(i, j)
++-XSelectionClearEvent* i;
++-int j;
+++void 
+++set_XSelectionClearEvent_type (XSelectionClearEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -3164,136 +2959,127 @@ int j;
++ 
++ /********* XSelectionRequestEvent functions *****/
++ 
++-long  make_XSelectionRequestEvent (){
+++long 
+++make_XSelectionRequestEvent (void){
++           return ((long) calloc(1, sizeof(XSelectionRequestEvent)));
++ }
++ 
++-int  XSelectionRequestEvent_time(i)
++-XSelectionRequestEvent* i;
+++int 
+++XSelectionRequestEvent_time (XSelectionRequestEvent *i)
++ {
++           return(i->time);
++ }
++ 
++-void set_XSelectionRequestEvent_time(i, j)
++-XSelectionRequestEvent* i;
++-int j;
+++void 
+++set_XSelectionRequestEvent_time (XSelectionRequestEvent *i, int j)
++ {
++           i->time = j;
++ }
++ 
++-int  XSelectionRequestEvent_property(i)
++-XSelectionRequestEvent* i;
+++int 
+++XSelectionRequestEvent_property (XSelectionRequestEvent *i)
++ {
++           return(i->property);
++ }
++ 
++-void set_XSelectionRequestEvent_property(i, j)
++-XSelectionRequestEvent* i;
++-int j;
+++void 
+++set_XSelectionRequestEvent_property (XSelectionRequestEvent *i, int j)
++ {
++           i->property = j;
++ }
++ 
++-int  XSelectionRequestEvent_target(i)
++-XSelectionRequestEvent* i;
+++int 
+++XSelectionRequestEvent_target (XSelectionRequestEvent *i)
++ {
++           return(i->target);
++ }
++ 
++-void set_XSelectionRequestEvent_target(i, j)
++-XSelectionRequestEvent* i;
++-int j;
+++void 
+++set_XSelectionRequestEvent_target (XSelectionRequestEvent *i, int j)
++ {
++           i->target = j;
++ }
++ 
++-int  XSelectionRequestEvent_selection(i)
++-XSelectionRequestEvent* i;
+++int 
+++XSelectionRequestEvent_selection (XSelectionRequestEvent *i)
++ {
++           return(i->selection);
++ }
++ 
++-void set_XSelectionRequestEvent_selection(i, j)
++-XSelectionRequestEvent* i;
++-int j;
+++void 
+++set_XSelectionRequestEvent_selection (XSelectionRequestEvent *i, int j)
++ {
++           i->selection = j;
++ }
++ 
++-int  XSelectionRequestEvent_requestor(i)
++-XSelectionRequestEvent* i;
+++int 
+++XSelectionRequestEvent_requestor (XSelectionRequestEvent *i)
++ {
++           return(i->requestor);
++ }
++ 
++-void set_XSelectionRequestEvent_requestor(i, j)
++-XSelectionRequestEvent* i;
++-int j;
+++void 
+++set_XSelectionRequestEvent_requestor (XSelectionRequestEvent *i, int j)
++ {
++           i->requestor = j;
++ }
++ 
++-int  XSelectionRequestEvent_owner(i)
++-XSelectionRequestEvent* i;
+++int 
+++XSelectionRequestEvent_owner (XSelectionRequestEvent *i)
++ {
++           return(i->owner);
++ }
++ 
++-void set_XSelectionRequestEvent_owner(i, j)
++-XSelectionRequestEvent* i;
++-int j;
+++void 
+++set_XSelectionRequestEvent_owner (XSelectionRequestEvent *i, int j)
++ {
++           i->owner = j;
++ }
++ 
++-long  XSelectionRequestEvent_display(i)
++-XSelectionRequestEvent* i;
+++long 
+++XSelectionRequestEvent_display (XSelectionRequestEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XSelectionRequestEvent_display(i, j)
++-XSelectionRequestEvent* i;
++-long j;
+++void 
+++set_XSelectionRequestEvent_display (XSelectionRequestEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XSelectionRequestEvent_send_event(i)
++-XSelectionRequestEvent* i;
+++int 
+++XSelectionRequestEvent_send_event (XSelectionRequestEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XSelectionRequestEvent_send_event(i, j)
++-XSelectionRequestEvent* i;
++-int j;
+++void 
+++set_XSelectionRequestEvent_send_event (XSelectionRequestEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XSelectionRequestEvent_serial(i)
++-XSelectionRequestEvent* i;
+++int 
+++XSelectionRequestEvent_serial (XSelectionRequestEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XSelectionRequestEvent_serial(i, j)
++-XSelectionRequestEvent* i;
++-int j;
+++void 
+++set_XSelectionRequestEvent_serial (XSelectionRequestEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XSelectionRequestEvent_type(i)
++-XSelectionRequestEvent* i;
+++int 
+++XSelectionRequestEvent_type (XSelectionRequestEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XSelectionRequestEvent_type(i, j)
++-XSelectionRequestEvent* i;
++-int j;
+++void 
+++set_XSelectionRequestEvent_type (XSelectionRequestEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -3301,123 +3087,115 @@ int j;
++ 
++ /********* XSelectionEvent functions *****/
++ 
++-long  make_XSelectionEvent (){
+++long 
+++make_XSelectionEvent (void){
++           return ((long) calloc(1, sizeof(XSelectionEvent)));
++ }
++ 
++-int  XSelectionEvent_time(i)
++-XSelectionEvent* i;
+++int 
+++XSelectionEvent_time (XSelectionEvent *i)
++ {
++           return(i->time);
++ }
++ 
++-void set_XSelectionEvent_time(i, j)
++-XSelectionEvent* i;
++-int j;
+++void 
+++set_XSelectionEvent_time (XSelectionEvent *i, int j)
++ {
++           i->time = j;
++ }
++ 
++-int  XSelectionEvent_property(i)
++-XSelectionEvent* i;
+++int 
+++XSelectionEvent_property (XSelectionEvent *i)
++ {
++           return(i->property);
++ }
++ 
++-void set_XSelectionEvent_property(i, j)
++-XSelectionEvent* i;
++-int j;
+++void 
+++set_XSelectionEvent_property (XSelectionEvent *i, int j)
++ {
++           i->property = j;
++ }
++ 
++-int  XSelectionEvent_target(i)
++-XSelectionEvent* i;
+++int 
+++XSelectionEvent_target (XSelectionEvent *i)
++ {
++           return(i->target);
++ }
++ 
++-void set_XSelectionEvent_target(i, j)
++-XSelectionEvent* i;
++-int j;
+++void 
+++set_XSelectionEvent_target (XSelectionEvent *i, int j)
++ {
++           i->target = j;
++ }
++ 
++-int  XSelectionEvent_selection(i)
++-XSelectionEvent* i;
+++int 
+++XSelectionEvent_selection (XSelectionEvent *i)
++ {
++           return(i->selection);
++ }
++ 
++-void set_XSelectionEvent_selection(i, j)
++-XSelectionEvent* i;
++-int j;
+++void 
+++set_XSelectionEvent_selection (XSelectionEvent *i, int j)
++ {
++           i->selection = j;
++ }
++ 
++-int  XSelectionEvent_requestor(i)
++-XSelectionEvent* i;
+++int 
+++XSelectionEvent_requestor (XSelectionEvent *i)
++ {
++           return(i->requestor);
++ }
++ 
++-void set_XSelectionEvent_requestor(i, j)
++-XSelectionEvent* i;
++-int j;
+++void 
+++set_XSelectionEvent_requestor (XSelectionEvent *i, int j)
++ {
++           i->requestor = j;
++ }
++ 
++-long  XSelectionEvent_display(i)
++-XSelectionEvent* i;
+++long 
+++XSelectionEvent_display (XSelectionEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XSelectionEvent_display(i, j)
++-XSelectionEvent* i;
++-long j;
+++void 
+++set_XSelectionEvent_display (XSelectionEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XSelectionEvent_send_event(i)
++-XSelectionEvent* i;
+++int 
+++XSelectionEvent_send_event (XSelectionEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XSelectionEvent_send_event(i, j)
++-XSelectionEvent* i;
++-int j;
+++void 
+++set_XSelectionEvent_send_event (XSelectionEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XSelectionEvent_serial(i)
++-XSelectionEvent* i;
+++int 
+++XSelectionEvent_serial (XSelectionEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XSelectionEvent_serial(i, j)
++-XSelectionEvent* i;
++-int j;
+++void 
+++set_XSelectionEvent_serial (XSelectionEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XSelectionEvent_type(i)
++-XSelectionEvent* i;
+++int 
+++XSelectionEvent_type (XSelectionEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XSelectionEvent_type(i, j)
++-XSelectionEvent* i;
++-int j;
+++void 
+++set_XSelectionEvent_type (XSelectionEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -3425,110 +3203,103 @@ int j;
++ 
++ /********* XColormapEvent functions *****/
++ 
++-long  make_XColormapEvent (){
+++long 
+++make_XColormapEvent (void){
++           return ((long) calloc(1, sizeof(XColormapEvent)));
++ }
++ 
++-int  XColormapEvent_state(i)
++-XColormapEvent* i;
+++int 
+++XColormapEvent_state (XColormapEvent *i)
++ {
++           return(i->state);
++ }
++ 
++-void set_XColormapEvent_state(i, j)
++-XColormapEvent* i;
++-int j;
+++void 
+++set_XColormapEvent_state (XColormapEvent *i, int j)
++ {
++           i->state = j;
++ }
++ 
++-int  XColormapEvent_new(i)
++-XColormapEvent* i;
+++int 
+++XColormapEvent_new (XColormapEvent *i)
++ {
++           return(i->new);
++ }
++ 
++-void set_XColormapEvent_new(i, j)
++-XColormapEvent* i;
++-int j;
+++void 
+++set_XColormapEvent_new (XColormapEvent *i, int j)
++ {
++           i->new = j;
++ }
++ 
++-int  XColormapEvent_colormap(i)
++-XColormapEvent* i;
+++int 
+++XColormapEvent_colormap (XColormapEvent *i)
++ {
++           return(i->colormap);
++ }
++ 
++-void set_XColormapEvent_colormap(i, j)
++-XColormapEvent* i;
++-int j;
+++void 
+++set_XColormapEvent_colormap (XColormapEvent *i, int j)
++ {
++           i->colormap = j;
++ }
++ 
++-int  XColormapEvent_window(i)
++-XColormapEvent* i;
+++int 
+++XColormapEvent_window (XColormapEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XColormapEvent_window(i, j)
++-XColormapEvent* i;
++-int j;
+++void 
+++set_XColormapEvent_window (XColormapEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XColormapEvent_display(i)
++-XColormapEvent* i;
+++long 
+++XColormapEvent_display (XColormapEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XColormapEvent_display(i, j)
++-XColormapEvent* i;
++-long j;
+++void 
+++set_XColormapEvent_display (XColormapEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XColormapEvent_send_event(i)
++-XColormapEvent* i;
+++int 
+++XColormapEvent_send_event (XColormapEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XColormapEvent_send_event(i, j)
++-XColormapEvent* i;
++-int j;
+++void 
+++set_XColormapEvent_send_event (XColormapEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XColormapEvent_serial(i)
++-XColormapEvent* i;
+++int 
+++XColormapEvent_serial (XColormapEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XColormapEvent_serial(i, j)
++-XColormapEvent* i;
++-int j;
+++void 
+++set_XColormapEvent_serial (XColormapEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XColormapEvent_type(i)
++-XColormapEvent* i;
+++int 
+++XColormapEvent_type (XColormapEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XColormapEvent_type(i, j)
++-XColormapEvent* i;
++-int j;
+++void 
+++set_XColormapEvent_type (XColormapEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -3536,98 +3307,92 @@ int j;
++ 
++ /********* XClientMessageEvent functions *****/
++ 
++-long  make_XClientMessageEvent (){
+++long 
+++make_XClientMessageEvent (void){
++           return ((long) calloc(1, sizeof(XClientMessageEvent)));
++ }
++ 
++-int  XClientMessageEvent_format(i)
++-XClientMessageEvent* i;
+++int 
+++XClientMessageEvent_format (XClientMessageEvent *i)
++ {
++           return(i->format);
++ }
++ 
++-void set_XClientMessageEvent_format(i, j)
++-XClientMessageEvent* i;
++-int j;
+++void 
+++set_XClientMessageEvent_format (XClientMessageEvent *i, int j)
++ {
++           i->format = j;
++ }
++ 
++-int  XClientMessageEvent_message_type(i)
++-XClientMessageEvent* i;
+++int 
+++XClientMessageEvent_message_type (XClientMessageEvent *i)
++ {
++           return(i->message_type);
++ }
++ 
++-void set_XClientMessageEvent_message_type(i, j)
++-XClientMessageEvent* i;
++-int j;
+++void 
+++set_XClientMessageEvent_message_type (XClientMessageEvent *i, int j)
++ {
++           i->message_type = j;
++ }
++ 
++ 
++-int  XClientMessageEvent_window(i)
++-XClientMessageEvent* i;
+++int 
+++XClientMessageEvent_window (XClientMessageEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XClientMessageEvent_window(i, j)
++-XClientMessageEvent* i;
++-int j;
+++void 
+++set_XClientMessageEvent_window (XClientMessageEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XClientMessageEvent_display(i)
++-XClientMessageEvent* i;
+++long 
+++XClientMessageEvent_display (XClientMessageEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XClientMessageEvent_display(i, j)
++-XClientMessageEvent* i;
++-long j;
+++void 
+++set_XClientMessageEvent_display (XClientMessageEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XClientMessageEvent_send_event(i)
++-XClientMessageEvent* i;
+++int 
+++XClientMessageEvent_send_event (XClientMessageEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XClientMessageEvent_send_event(i, j)
++-XClientMessageEvent* i;
++-int j;
+++void 
+++set_XClientMessageEvent_send_event (XClientMessageEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XClientMessageEvent_serial(i)
++-XClientMessageEvent* i;
+++int 
+++XClientMessageEvent_serial (XClientMessageEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XClientMessageEvent_serial(i, j)
++-XClientMessageEvent* i;
++-int j;
+++void 
+++set_XClientMessageEvent_serial (XClientMessageEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XClientMessageEvent_type(i)
++-XClientMessageEvent* i;
+++int 
+++XClientMessageEvent_type (XClientMessageEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XClientMessageEvent_type(i, j)
++-XClientMessageEvent* i;
++-int j;
+++void 
+++set_XClientMessageEvent_type (XClientMessageEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -3635,110 +3400,103 @@ int j;
++ 
++ /********* XMappingEvent functions *****/
++ 
++-long  make_XMappingEvent (){
+++long 
+++make_XMappingEvent (void){
++           return ((long) calloc(1, sizeof(XMappingEvent)));
++ }
++ 
++-int  XMappingEvent_count(i)
++-XMappingEvent* i;
+++int 
+++XMappingEvent_count (XMappingEvent *i)
++ {
++           return(i->count);
++ }
++ 
++-void set_XMappingEvent_count(i, j)
++-XMappingEvent* i;
++-int j;
+++void 
+++set_XMappingEvent_count (XMappingEvent *i, int j)
++ {
++           i->count = j;
++ }
++ 
++-int XMappingEvent_first_keycode(i)
++-XMappingEvent* i;
+++int 
+++XMappingEvent_first_keycode (XMappingEvent *i)
++ {
++           return(i->first_keycode);
++ }
++ 
++-void set_XMappingEvent_first_keycode(i, j)
++-XMappingEvent* i;
++-int j;
+++void 
+++set_XMappingEvent_first_keycode (XMappingEvent *i, int j)
++ {
++           i->first_keycode = j;
++ }
++ 
++-int  XMappingEvent_request(i)
++-XMappingEvent* i;
+++int 
+++XMappingEvent_request (XMappingEvent *i)
++ {
++           return(i->request);
++ }
++ 
++-void set_XMappingEvent_request(i, j)
++-XMappingEvent* i;
++-int j;
+++void 
+++set_XMappingEvent_request (XMappingEvent *i, int j)
++ {
++           i->request = j;
++ }
++ 
++-int  XMappingEvent_window(i)
++-XMappingEvent* i;
+++int 
+++XMappingEvent_window (XMappingEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XMappingEvent_window(i, j)
++-XMappingEvent* i;
++-int j;
+++void 
+++set_XMappingEvent_window (XMappingEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XMappingEvent_display(i)
++-XMappingEvent* i;
+++long 
+++XMappingEvent_display (XMappingEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XMappingEvent_display(i, j)
++-XMappingEvent* i;
++-long j;
+++void 
+++set_XMappingEvent_display (XMappingEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XMappingEvent_send_event(i)
++-XMappingEvent* i;
+++int 
+++XMappingEvent_send_event (XMappingEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XMappingEvent_send_event(i, j)
++-XMappingEvent* i;
++-int j;
+++void 
+++set_XMappingEvent_send_event (XMappingEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XMappingEvent_serial(i)
++-XMappingEvent* i;
+++int 
+++XMappingEvent_serial (XMappingEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XMappingEvent_serial(i, j)
++-XMappingEvent* i;
++-int j;
+++void 
+++set_XMappingEvent_serial (XMappingEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XMappingEvent_type(i)
++-XMappingEvent* i;
+++int 
+++XMappingEvent_type (XMappingEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XMappingEvent_type(i, j)
++-XMappingEvent* i;
++-int j;
+++void 
+++set_XMappingEvent_type (XMappingEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -3746,97 +3504,91 @@ int j;
++ 
++ /********* XErrorEvent functions *****/
++ 
++-long  make_XErrorEvent (){
+++long 
+++make_XErrorEvent (void){
++           return ((long) calloc(1, sizeof(XErrorEvent)));
++ }
++ 
++-char XErrorEvent_minor_code(i)
++-XErrorEvent* i;
+++char 
+++XErrorEvent_minor_code (XErrorEvent *i)
++ {
++           return(i->minor_code);
++ }
++ 
++-void set_XErrorEvent_minor_code(i, j)
++-XErrorEvent* i;
++-char j;
+++void 
+++set_XErrorEvent_minor_code (XErrorEvent *i, int j)
++ {
++           i->minor_code = j;
++ }
++ 
++-char XErrorEvent_request_code(i)
++-XErrorEvent* i;
+++char 
+++XErrorEvent_request_code (XErrorEvent *i)
++ {
++           return(i->request_code);
++ }
++ 
++-void set_XErrorEvent_request_code(i, j)
++-XErrorEvent* i;
++-char j;
+++void 
+++set_XErrorEvent_request_code (XErrorEvent *i, int j)
++ {
++           i->request_code = j;
++ }
++ 
++-char XErrorEvent_error_code(i)
++-XErrorEvent* i;
+++char 
+++XErrorEvent_error_code (XErrorEvent *i)
++ {
++           return(i->error_code);
++ }
++ 
++-void set_XErrorEvent_error_code(i, j)
++-XErrorEvent* i;
++-char j;
+++void 
+++set_XErrorEvent_error_code (XErrorEvent *i, int j)
++ {
++           i->error_code = j;
++ }
++ 
++-int  XErrorEvent_serial(i)
++-XErrorEvent* i;
+++int 
+++XErrorEvent_serial (XErrorEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XErrorEvent_serial(i, j)
++-XErrorEvent* i;
++-int j;
+++void 
+++set_XErrorEvent_serial (XErrorEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XErrorEvent_resourceid(i)
++-XErrorEvent* i;
+++int 
+++XErrorEvent_resourceid (XErrorEvent *i)
++ {
++           return(i->resourceid);
++ }
++ 
++-void set_XErrorEvent_resourceid(i, j)
++-XErrorEvent* i;
++-int j;
+++void 
+++set_XErrorEvent_resourceid (XErrorEvent *i, int j)
++ {
++           i->resourceid = j;
++ }
++ 
++-long  XErrorEvent_display(i)
++-XErrorEvent* i;
+++long 
+++XErrorEvent_display (XErrorEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XErrorEvent_display(i, j)
++-XErrorEvent* i;
++-long j;
+++void 
+++set_XErrorEvent_display (XErrorEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XErrorEvent_type(i)
++-XErrorEvent* i;
+++int 
+++XErrorEvent_type (XErrorEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XErrorEvent_type(i, j)
++-XErrorEvent* i;
++-int j;
+++void 
+++set_XErrorEvent_type (XErrorEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -3844,71 +3596,67 @@ int j;
++ 
++ /********* XAnyEvent functions *****/
++ 
++-long  make_XAnyEvent (){
+++long 
+++make_XAnyEvent (void){
++           return ((long) calloc(1, sizeof(XAnyEvent)));
++ }
++ 
++-int  XAnyEvent_window(i)
++-XAnyEvent* i;
+++int 
+++XAnyEvent_window (XAnyEvent *i)
++ {
++           return(i->window);
++ }
++ 
++-void set_XAnyEvent_window(i, j)
++-XAnyEvent* i;
++-int j;
+++void 
+++set_XAnyEvent_window (XAnyEvent *i, int j)
++ {
++           i->window = j;
++ }
++ 
++-long  XAnyEvent_display(i)
++-XAnyEvent* i;
+++long 
+++XAnyEvent_display (XAnyEvent *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_XAnyEvent_display(i, j)
++-XAnyEvent* i;
++-long j;
+++void 
+++set_XAnyEvent_display (XAnyEvent *i, long j)
++ {
++           i->display = (Display *) j;
++ }
++ 
++-int  XAnyEvent_send_event(i)
++-XAnyEvent* i;
+++int 
+++XAnyEvent_send_event (XAnyEvent *i)
++ {
++           return(i->send_event);
++ }
++ 
++-void set_XAnyEvent_send_event(i, j)
++-XAnyEvent* i;
++-int j;
+++void 
+++set_XAnyEvent_send_event (XAnyEvent *i, int j)
++ {
++           i->send_event = j;
++ }
++ 
++-int  XAnyEvent_serial(i)
++-XAnyEvent* i;
+++int 
+++XAnyEvent_serial (XAnyEvent *i)
++ {
++           return(i->serial);
++ }
++ 
++-void set_XAnyEvent_serial(i, j)
++-XAnyEvent* i;
++-int j;
+++void 
+++set_XAnyEvent_serial (XAnyEvent *i, int j)
++ {
++           i->serial = j;
++ }
++ 
++-int  XAnyEvent_type(i)
++-XAnyEvent* i;
+++int 
+++XAnyEvent_type (XAnyEvent *i)
++ {
++           return(i->type);
++ }
++ 
++-void set_XAnyEvent_type(i, j)
++-XAnyEvent* i;
++-int j;
+++void 
+++set_XAnyEvent_type (XAnyEvent *i, int j)
++ {
++           i->type = j;
++ }
++@@ -3916,6 +3664,7 @@ int j;
++ 
++ /********* XEvent functions *****/
++ 
++-long  make_XEvent (){
+++long 
+++make_XEvent (void){
++           return ((long) calloc(1, sizeof(XEvent)));
++ }
++--- gcl27-2.7.1.orig/xgcl-2/XStruct-2.c
+++++ gcl27-2.7.1/xgcl-2/XStruct-2.c
++@@ -24,38 +24,37 @@
++ 
++ 
++ /********* _XQEvent functions *****/
+++
++ #define NEED_EVENTS
++ #include <X11/Xlib.h>
++ #include <X11/Xutil.h>
++ #include <X11/Xlibint.h>
++ 
++ 
++-long  make__XQEvent (){
+++long make__XQEvent (void)
+++{
++           return ((long) calloc(1, sizeof(_XQEvent)));
++ }
++ 
++-XEvent _XQEvent_event(i)
++-_XQEvent* i;
+++XEvent _XQEvent_event (_XQEvent* i)
++ {
++           return(i->event);
++ }
++ 
++-void set__XQEvent_event(i, j)
++-_XQEvent* i;
++-XEvent j;
+++void 
+++set__XQEvent_event (_XQEvent *i, XEvent j)
++ {
++           i->event = j;
++ }
++ 
++-long _XQEvent_next(i)
++-_XQEvent* i;
+++long 
+++_XQEvent_next (_XQEvent *i)
++ {
++           return((long) i->next);
++ }
++ 
++-void set__XQEvent_next(i, j)
++-_XQEvent* i;
++-long j;
+++void 
+++set__XQEvent_next (_XQEvent *i, long j)
++ {
++           i->next = (struct _XSQEvent *) j;
++ }
++@@ -63,84 +62,79 @@ long j;
++ 
++ /********* XCharStruct functions *****/
++ 
++-long  make_XCharStruct (){
+++long 
+++make_XCharStruct (void){
++           return ((long) calloc(1, sizeof(XCharStruct)));
++ }
++ 
++-int  XCharStruct_attributes(i)
++-XCharStruct* i;
+++int 
+++XCharStruct_attributes (XCharStruct *i)
++ {
++           return(i->attributes);
++ }
++ 
++-void set_XCharStruct_attributes(i, j)
++-XCharStruct* i;
++-int j;
+++void 
+++set_XCharStruct_attributes (XCharStruct *i, int j)
++ {
++           i->attributes = j;
++ }
++ 
++-int  XCharStruct_descent(i)
++-XCharStruct* i;
+++int 
+++XCharStruct_descent (XCharStruct *i)
++ {
++           return(i->descent);
++ }
++ 
++-void set_XCharStruct_descent(i, j)
++-XCharStruct* i;
++-int j;
+++void 
+++set_XCharStruct_descent (XCharStruct *i, int j)
++ {
++           i->descent = j;
++ }
++ 
++-int  XCharStruct_ascent(i)
++-XCharStruct* i;
+++int 
+++XCharStruct_ascent (XCharStruct *i)
++ {
++           return(i->ascent);
++ }
++ 
++-void set_XCharStruct_ascent(i, j)
++-XCharStruct* i;
++-int j;
+++void 
+++set_XCharStruct_ascent (XCharStruct *i, int j)
++ {
++           i->ascent = j;
++ }
++ 
++-int  XCharStruct_width(i)
++-XCharStruct* i;
+++int 
+++XCharStruct_width (XCharStruct *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XCharStruct_width(i, j)
++-XCharStruct* i;
++-int j;
+++void 
+++set_XCharStruct_width (XCharStruct *i, int j)
++ {
++           i->width = j;
++ }
++ 
++-int  XCharStruct_rbearing(i)
++-XCharStruct* i;
+++int 
+++XCharStruct_rbearing (XCharStruct *i)
++ {
++           return(i->rbearing);
++ }
++ 
++-void set_XCharStruct_rbearing(i, j)
++-XCharStruct* i;
++-int j;
+++void 
+++set_XCharStruct_rbearing (XCharStruct *i, int j)
++ {
++           i->rbearing = j;
++ }
++ 
++-int  XCharStruct_lbearing(i)
++-XCharStruct* i;
+++int 
+++XCharStruct_lbearing (XCharStruct *i)
++ {
++           return(i->lbearing);
++ }
++ 
++-void set_XCharStruct_lbearing(i, j)
++-XCharStruct* i;
++-int j;
+++void 
+++set_XCharStruct_lbearing (XCharStruct *i, int j)
++ {
++           i->lbearing = j;
++ }
++@@ -148,32 +142,31 @@ int j;
++ 
++ /********* XFontProp functions *****/
++ 
++-long  make_XFontProp (){
+++long 
+++make_XFontProp (void){
++           return ((long) calloc(1, sizeof(XFontProp)));
++ }
++ 
++-int  XFontProp_card32(i)
++-XFontProp* i;
+++int 
+++XFontProp_card32 (XFontProp *i)
++ {
++           return(i->card32);
++ }
++ 
++-void set_XFontProp_card32(i, j)
++-XFontProp* i;
++-int j;
+++void 
+++set_XFontProp_card32 (XFontProp *i, int j)
++ {
++           i->card32 = j;
++ }
++ 
++-int  XFontProp_name(i)
++-XFontProp* i;
+++int 
+++XFontProp_name (XFontProp *i)
++ {
++           return(i->name);
++ }
++ 
++-void set_XFontProp_name(i, j)
++-XFontProp* i;
++-int j;
+++void 
+++set_XFontProp_name (XFontProp *i, int j)
++ {
++           i->name = j;
++ }
++@@ -181,211 +174,196 @@ int j;
++ 
++ /********* XFontStruct functions *****/
++ 
++-long  make_XFontStruct (){
+++long 
+++make_XFontStruct (void){
++           return ((long) calloc(1, sizeof(XFontStruct)));
++ }
++ 
++-int  XFontStruct_descent(i)
++-XFontStruct* i;
+++int 
+++XFontStruct_descent (XFontStruct *i)
++ {
++           return(i->descent);
++ }
++ 
++-void set_XFontStruct_descent(i, j)
++-XFontStruct* i;
++-int j;
+++void 
+++set_XFontStruct_descent (XFontStruct *i, int j)
++ {
++           i->descent = j;
++ }
++ 
++-int  XFontStruct_ascent(i)
++-XFontStruct* i;
+++int 
+++XFontStruct_ascent (XFontStruct *i)
++ {
++           return(i->ascent);
++ }
++ 
++-void set_XFontStruct_ascent(i, j)
++-XFontStruct* i;
++-int j;
+++void 
+++set_XFontStruct_ascent (XFontStruct *i, int j)
++ {
++           i->ascent = j;
++ }
++ 
++-long  XFontStruct_per_char(i)
++-XFontStruct* i;
+++long 
+++XFontStruct_per_char (XFontStruct *i)
++ {
++           return((long) i->per_char);
++ }
++ 
++-void set_XFontStruct_per_char(i, j)
++-XFontStruct* i;
++-long j;
+++void 
+++set_XFontStruct_per_char (XFontStruct *i, long j)
++ {
++           i->per_char = (XCharStruct *) j;
++ }
++ 
++-long XFontStruct_max_bounds(i)
++-XFontStruct* i;
+++long 
+++XFontStruct_max_bounds (XFontStruct *i)
++ {
++           return((long) &i->max_bounds);
++ }
++-long XFontStruct_min_bounds(i)
++-XFontStruct* i;
+++long 
+++XFontStruct_min_bounds (XFontStruct *i)
++ {
++           return((long) &i->min_bounds);
++ }
++-void set_XFontStruct_max_bounds(i, j)
++-XFontStruct* i;
++-XCharStruct j;
+++void 
+++set_XFontStruct_max_bounds (XFontStruct *i, XCharStruct j)
++ {
++           i->max_bounds = j;
++ }
++-void set_XFontStruct_min_bounds(i, j)
++-XFontStruct* i;
++-XCharStruct j;
+++void 
+++set_XFontStruct_min_bounds (XFontStruct *i, XCharStruct j)
++ {
++           i->min_bounds = j;
++ }
++ 
++-long  XFontStruct_properties(i)
++-XFontStruct* i;
+++long 
+++XFontStruct_properties (XFontStruct *i)
++ {
++           return((long) i->properties);
++ }
++ 
++-void set_XFontStruct_properties(i, j)
++-XFontStruct* i;
++-long j;
+++void 
+++set_XFontStruct_properties (XFontStruct *i, long j)
++ {
++           i->properties = (XFontProp *) j;
++ }
++ 
++-int  XFontStruct_n_properties(i)
++-XFontStruct* i;
+++int 
+++XFontStruct_n_properties (XFontStruct *i)
++ {
++           return(i->n_properties);
++ }
++ 
++-void set_XFontStruct_n_properties(i, j)
++-XFontStruct* i;
++-int j;
+++void 
+++set_XFontStruct_n_properties (XFontStruct *i, int j)
++ {
++           i->n_properties = j;
++ }
++ 
++-int  XFontStruct_default_char(i)
++-XFontStruct* i;
+++int 
+++XFontStruct_default_char (XFontStruct *i)
++ {
++           return(i->default_char);
++ }
++ 
++-void set_XFontStruct_default_char(i, j)
++-XFontStruct* i;
++-int j;
+++void 
+++set_XFontStruct_default_char (XFontStruct *i, int j)
++ {
++           i->default_char = j;
++ }
++ 
++-int  XFontStruct_all_chars_exist(i)
++-XFontStruct* i;
+++int 
+++XFontStruct_all_chars_exist (XFontStruct *i)
++ {
++           return(i->all_chars_exist);
++ }
++ 
++-void set_XFontStruct_all_chars_exist(i, j)
++-XFontStruct* i;
++-int j;
+++void 
+++set_XFontStruct_all_chars_exist (XFontStruct *i, int j)
++ {
++           i->all_chars_exist = j;
++ }
++ 
++-int  XFontStruct_max_byte1(i)
++-XFontStruct* i;
+++int 
+++XFontStruct_max_byte1 (XFontStruct *i)
++ {
++           return(i->max_byte1);
++ }
++ 
++-void set_XFontStruct_max_byte1(i, j)
++-XFontStruct* i;
++-int j;
+++void 
+++set_XFontStruct_max_byte1 (XFontStruct *i, int j)
++ {
++           i->max_byte1 = j;
++ }
++ 
++-int  XFontStruct_min_byte1(i)
++-XFontStruct* i;
+++int 
+++XFontStruct_min_byte1 (XFontStruct *i)
++ {
++           return(i->min_byte1);
++ }
++ 
++-void set_XFontStruct_min_byte1(i, j)
++-XFontStruct* i;
++-int j;
+++void 
+++set_XFontStruct_min_byte1 (XFontStruct *i, int j)
++ {
++           i->min_byte1 = j;
++ }
++ 
++-int  XFontStruct_max_char_or_byte2(i)
++-XFontStruct* i;
+++int 
+++XFontStruct_max_char_or_byte2 (XFontStruct *i)
++ {
++           return(i->max_char_or_byte2);
++ }
++ 
++-void set_XFontStruct_max_char_or_byte2(i, j)
++-XFontStruct* i;
++-int j;
+++void 
+++set_XFontStruct_max_char_or_byte2 (XFontStruct *i, int j)
++ {
++           i->max_char_or_byte2 = j;
++ }
++ 
++-int  XFontStruct_min_char_or_byte2(i)
++-XFontStruct* i;
+++int 
+++XFontStruct_min_char_or_byte2 (XFontStruct *i)
++ {
++           return(i->min_char_or_byte2);
++ }
++ 
++-void set_XFontStruct_min_char_or_byte2(i, j)
++-XFontStruct* i;
++-int j;
+++void 
+++set_XFontStruct_min_char_or_byte2 (XFontStruct *i, int j)
++ {
++           i->min_char_or_byte2 = j;
++ }
++ 
++-int  XFontStruct_direction(i)
++-XFontStruct* i;
+++int 
+++XFontStruct_direction (XFontStruct *i)
++ {
++           return(i->direction);
++ }
++ 
++-void set_XFontStruct_direction(i, j)
++-XFontStruct* i;
++-int j;
+++void 
+++set_XFontStruct_direction (XFontStruct *i, int j)
++ {
++           i->direction = j;
++ }
++ 
++-int  XFontStruct_fid(i)
++-XFontStruct* i;
+++int 
+++XFontStruct_fid (XFontStruct *i)
++ {
++           return(i->fid);
++ }
++ 
++-void set_XFontStruct_fid(i, j)
++-XFontStruct* i;
++-int j;
+++void 
+++set_XFontStruct_fid (XFontStruct *i, int j)
++ {
++           i->fid = j;
++ }
++ 
++-long  XFontStruct_ext_data(i)
++-XFontStruct* i;
+++long 
+++XFontStruct_ext_data (XFontStruct *i)
++ {
++           return((long) i->ext_data);
++ }
++ 
++-void set_XFontStruct_ext_data(i, j)
++-XFontStruct* i;
++-long j;
+++void 
+++set_XFontStruct_ext_data (XFontStruct *i, long j)
++ {
++           i->ext_data = (XExtData *) j;
++ }
++@@ -393,58 +371,55 @@ long j;
++ 
++ /********* XTextItem functions *****/
++ 
++-long  make_XTextItem (){
+++long 
+++make_XTextItem (void){
++           return ((long) calloc(1, sizeof(XTextItem)));
++ }
++ 
++-int  XTextItem_font(i)
++-XTextItem* i;
+++int 
+++XTextItem_font (XTextItem *i)
++ {
++           return(i->font);
++ }
++ 
++-void set_XTextItem_font(i, j)
++-XTextItem* i;
++-int j;
+++void 
+++set_XTextItem_font (XTextItem *i, int j)
++ {
++           i->font = j;
++ }
++ 
++-int  XTextItem_delta(i)
++-XTextItem* i;
+++int 
+++XTextItem_delta (XTextItem *i)
++ {
++           return(i->delta);
++ }
++ 
++-void set_XTextItem_delta(i, j)
++-XTextItem* i;
++-int j;
+++void 
+++set_XTextItem_delta (XTextItem *i, int j)
++ {
++           i->delta = j;
++ }
++ 
++-int  XTextItem_nchars(i)
++-XTextItem* i;
+++int 
+++XTextItem_nchars (XTextItem *i)
++ {
++           return(i->nchars);
++ }
++ 
++-void set_XTextItem_nchars(i, j)
++-XTextItem* i;
++-int j;
+++void 
+++set_XTextItem_nchars (XTextItem *i, int j)
++ {
++           i->nchars = j;
++ }
++ 
++-long  XTextItem_chars(i)
++-XTextItem* i;
+++long 
+++XTextItem_chars (XTextItem *i)
++ {
++           return((long) i->chars);
++ }
++ 
++-void set_XTextItem_chars(i, j)
++-XTextItem* i;
++-long j;
+++void 
+++set_XTextItem_chars (XTextItem *i, long j)
++ {
++           i->chars = (char *) j;
++ }
++@@ -452,32 +427,31 @@ long j;
++ 
++ /********* XChar2b functions *****/
++ 
++-long  make_XChar2b (){
+++long 
+++make_XChar2b (void){
++           return ((long) calloc(1, sizeof(XChar2b)));
++ }
++ 
++-char XChar2b_byte2(i)
++-XChar2b* i;
+++char 
+++XChar2b_byte2 (XChar2b *i)
++ {
++           return(i->byte2);
++ }
++ 
++-void set_XChar2b_byte2(i, j)
++-XChar2b* i;
++-char j;
+++void 
+++set_XChar2b_byte2 (XChar2b *i, int j)
++ {
++           i->byte2 = j;
++ }
++ 
++-char XChar2b_byte1(i)
++-XChar2b* i;
+++char 
+++XChar2b_byte1 (XChar2b *i)
++ {
++           return(i->byte1);
++ }
++ 
++-void set_XChar2b_byte1(i, j)
++-XChar2b* i;
++-char j;
+++void 
+++set_XChar2b_byte1 (XChar2b *i, int j)
++ {
++           i->byte1 = j;
++ }
++@@ -485,58 +459,55 @@ char j;
++ 
++ /********* XTextItem16 functions *****/
++ 
++-long  make_XTextItem16 (){
+++long 
+++make_XTextItem16 (void){
++           return ((long) calloc(1, sizeof(XTextItem16)));
++ }
++ 
++-int  XTextItem16_font(i)
++-XTextItem16* i;
+++int 
+++XTextItem16_font (XTextItem16 *i)
++ {
++           return(i->font);
++ }
++ 
++-void set_XTextItem16_font(i, j)
++-XTextItem16* i;
++-int j;
+++void 
+++set_XTextItem16_font (XTextItem16 *i, int j)
++ {
++           i->font = j;
++ }
++ 
++-int  XTextItem16_delta(i)
++-XTextItem16* i;
+++int 
+++XTextItem16_delta (XTextItem16 *i)
++ {
++           return(i->delta);
++ }
++ 
++-void set_XTextItem16_delta(i, j)
++-XTextItem16* i;
++-int j;
+++void 
+++set_XTextItem16_delta (XTextItem16 *i, int j)
++ {
++           i->delta = j;
++ }
++ 
++-int  XTextItem16_nchars(i)
++-XTextItem16* i;
+++int 
+++XTextItem16_nchars (XTextItem16 *i)
++ {
++           return(i->nchars);
++ }
++ 
++-void set_XTextItem16_nchars(i, j)
++-XTextItem16* i;
++-int j;
+++void 
+++set_XTextItem16_nchars (XTextItem16 *i, int j)
++ {
++           i->nchars = j;
++ }
++ 
++-long  XTextItem16_chars(i)
++-XTextItem16* i;
+++long 
+++XTextItem16_chars (XTextItem16 *i)
++ {
++           return((long) i->chars);
++ }
++ 
++-void set_XTextItem16_chars(i, j)
++-XTextItem16* i;
++-long j;
+++void 
+++set_XTextItem16_chars (XTextItem16 *i, long j)
++ {
++           i->chars = (XChar2b *) j;
++ }
++@@ -544,71 +515,67 @@ long j;
++ 
++ /********* XEDataObject functions *****/
++ 
++-long  make_XEDataObject (){
+++long 
+++make_XEDataObject (void){
++           return ((long) calloc(1, sizeof(XEDataObject)));
++ }
++ 
++-long  XEDataObject_font(i)
++-XEDataObject* i;
+++long 
+++XEDataObject_font (XEDataObject *i)
++ {
++           return((long) i->font);
++ }
++ 
++-void set_XEDataObject_font(i, j)
++-XEDataObject* i;
++-long j;
+++void 
+++set_XEDataObject_font (XEDataObject *i, long j)
++ {
++           i->font = (XFontStruct *) j;
++ }
++ 
++-long  XEDataObject_pixmap_format(i)
++-XEDataObject* i;
+++long 
+++XEDataObject_pixmap_format (XEDataObject *i)
++ {
++           return((long) i->pixmap_format);
++ }
++ 
++-void set_XEDataObject_pixmap_format(i, j)
++-XEDataObject* i;
++-long j;
+++void 
+++set_XEDataObject_pixmap_format (XEDataObject *i, long j)
++ {
++           i->pixmap_format = (ScreenFormat *) j;
++ }
++ 
++-long  XEDataObject_screen(i)
++-XEDataObject* i;
+++long 
+++XEDataObject_screen (XEDataObject *i)
++ {
++           return((long) i->screen);
++ }
++ 
++-void set_XEDataObject_screen(i, j)
++-XEDataObject* i;
++-long j;
+++void 
+++set_XEDataObject_screen (XEDataObject *i, long j)
++ {
++           i->screen = (Screen *) j;
++ }
++ 
++-long  XEDataObject_visual(i)
++-XEDataObject* i;
+++long 
+++XEDataObject_visual (XEDataObject *i)
++ {
++           return((long) i->visual);
++ }
++ 
++-void set_XEDataObject_visual(i, j)
++-XEDataObject* i;
++-long j;
+++void 
+++set_XEDataObject_visual (XEDataObject *i, long j)
++ {
++           i->visual = (Visual *) j;
++ }
++ 
++-GC   XEDataObject_gc(i)
++-XEDataObject* i;
+++GC 
+++XEDataObject_gc (XEDataObject *i)
++ {
++           return(i->gc);
++ }
++ 
++-void set_XEDataObject_gc(i, j)
++-XEDataObject* i;
++-GC j;
+++void 
+++set_XEDataObject_gc (XEDataObject *i, GC j)
++ {
++           i->gc = j;
++ }
++@@ -616,242 +583,189 @@ GC j;
++ 
++ /********* XSizeHints functions *****/
++ 
++-long  make_XSizeHints (){
+++long 
+++make_XSizeHints (void){
++           return ((long) calloc(1, sizeof(XSizeHints)));
++ }
++ 
++-int  XSizeHints_win_gravity(i)
++-XSizeHints *i;
+++int  XSizeHints_win_gravity(XSizeHints *i)
++ {
++           return(i->win_gravity);
++ }
++ 
++-void set_XSizeHints_win_gravity(i, j)
++-XSizeHints *i;
++-int j;
+++void set_XSizeHints_win_gravity(XSizeHints *i,int j)
++ {
++           i->win_gravity = j;
++ }
++ 
++-int  XSizeHints_base_height(i)
++-XSizeHints* i;
+++int  XSizeHints_base_height(XSizeHints* i)
++ {
++           return(i->base_height);
++ }
++ 
++-void set_XSizeHints_base_height(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_base_height(XSizeHints* i,int j)
++ {
++           i->base_height = j;
++ }
++ 
++-int  XSizeHints_base_width(i)
++-XSizeHints* i;
+++int  XSizeHints_base_width(XSizeHints* i)
++ {
++           return(i->base_width);
++ }
++ 
++-void set_XSizeHints_base_width(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_base_width(XSizeHints* i,int j)
++ {
++           i->base_width = j;
++ }
++ 
++-int  XSizeHints_height_inc(i)
++-XSizeHints* i;
+++int  XSizeHints_height_inc(XSizeHints* i)
++ {
++           return(i->height_inc);
++ }
++ 
++-void set_XSizeHints_height_inc(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_height_inc(XSizeHints* i,int j)
++ {
++           i->height_inc = j;
++ }
++ 
++-int  XSizeHints_width_inc(i)
++-XSizeHints* i;
+++int  XSizeHints_width_inc(XSizeHints* i)
++ {
++           return(i->width_inc);
++ }
++ 
++-void set_XSizeHints_width_inc(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_width_inc(XSizeHints* i,int j)
++ {
++           i->width_inc = j;
++ }
++ 
++-int  XSizeHints_max_height(i)
++-XSizeHints* i;
+++int  XSizeHints_max_height(XSizeHints* i)
++ {
++           return(i->max_height);
++ }
++ 
++-void set_XSizeHints_max_height(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_max_height(XSizeHints* i,int j)
++ {
++           i->max_height = j;
++ }
++ 
++-int  XSizeHints_max_width(i)
++-XSizeHints* i;
+++int  XSizeHints_max_width(XSizeHints* i)
++ {
++           return(i->max_width);
++ }
++ 
++-void set_XSizeHints_max_width(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_max_width(XSizeHints* i,int j)
++ {
++           i->max_width = j;
++ }
++ 
++-int  XSizeHints_min_height(i)
++-XSizeHints* i;
+++int  XSizeHints_min_height(XSizeHints* i)
++ {
++           return(i->min_height);
++ }
++ 
++-void set_XSizeHints_min_height(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_min_height(XSizeHints* i,int j)
++ {
++           i->min_height = j;
++ }
++ 
++-int  XSizeHints_min_width(i)
++-XSizeHints* i;
+++int  XSizeHints_min_width(XSizeHints* i)
++ {
++           return(i->min_width);
++ }
++ 
++-void set_XSizeHints_min_width(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_min_width(XSizeHints* i,int j)
++ {
++           i->min_width = j;
++ }
++ 
++-int  XSizeHints_height(i)
++-XSizeHints* i;
+++int  XSizeHints_height(XSizeHints* i)
++ {
++           return(i->height);
++ }
++ 
++-void set_XSizeHints_height(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_height(XSizeHints* i,int j)
++ {
++           i->height = j;
++ }
++ 
++-int  XSizeHints_width(i)
++-XSizeHints* i;
+++int  XSizeHints_width(XSizeHints* i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XSizeHints_width(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_width(XSizeHints* i,int j)
++ {
++           i->width = j;
++ }
++ 
++-int  XSizeHints_y(i)
++-XSizeHints* i;
+++int  XSizeHints_y(XSizeHints* i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XSizeHints_y(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_y(XSizeHints* i,int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XSizeHints_x(i)
++-XSizeHints* i;
+++int  XSizeHints_x(XSizeHints* i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XSizeHints_x(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_x(XSizeHints* i,int j)
++ {
++           i->x = j;
++ }
++ 
++-int  XSizeHints_flags(i)
++-XSizeHints* i;
+++int  XSizeHints_flags(XSizeHints* i)
++ {
++           return(i->flags);
++ }
++ 
++-void set_XSizeHints_flags(i, j)
++-XSizeHints* i;
++-int j;
+++void set_XSizeHints_flags(XSizeHints* i,int j)
++ {
++           i->flags = j;
++ }
++ 
++ 
++-int  XSizeHints_max_aspect_x(i)
++-XSizeHints* i;
+++int  XSizeHints_max_aspect_x(XSizeHints* i)
++ {
++           return(i->max_aspect.x);
++ }
++ 
++-void  set_XSizeHints_max_aspect_x(i, j)
++-XSizeHints* i;
++-int  j;
+++void  set_XSizeHints_max_aspect_x(XSizeHints* i,int j)
++ {
++           i->max_aspect.x = j;
++ }
++ 
++-int  XSizeHints_max_aspect_y(i)
++-XSizeHints* i;
+++int  XSizeHints_max_aspect_y(XSizeHints* i)
++ {
++           return(i->max_aspect.y);
++ }
++ 
++-void  set_XSizeHints_max_aspect_y(i, j)
++-XSizeHints* i;
++-int  j;
+++void  set_XSizeHints_max_aspect_y(XSizeHints* i,int j)
++ {
++           i->max_aspect.y = j;
++ }
++ 
++-int  XSizeHints_min_aspect_x(i)
++-XSizeHints* i;
+++int  XSizeHints_min_aspect_x(XSizeHints* i)
++ {
++           return(i->min_aspect.x);
++ }
++ 
++-void  set_XSizeHints_min_aspect_x(i, j)
++-XSizeHints* i;
++-int  j;
+++void  set_XSizeHints_min_aspect_x(XSizeHints* i,int j)
++ {
++           i->min_aspect.x = j;
++ }
++ 
++ 
++-int  XSizeHints_min_aspect_y(i)
++-XSizeHints* i;
+++int  XSizeHints_min_aspect_y(XSizeHints* i)
++ {
++           return(i->min_aspect.y);
++ }
++ 
++-void  set_XSizeHints_min_aspect_y(i, j)
++-XSizeHints* i;
++-int  j;
+++void  set_XSizeHints_min_aspect_y(XSizeHints* i,int j)
++ {
++           i->min_aspect.y = j;
++ }
++@@ -859,123 +773,115 @@ int   j;
++ 
++ /********* XWMHints functions *****/
++ 
++-long  make_XWMHints (){
+++long 
+++make_XWMHints (void){
++           return ((long) calloc(1, sizeof(XWMHints)));
++ }
++ 
++-int  XWMHints_window_group(i)
++-XWMHints* i;
+++int 
+++XWMHints_window_group (XWMHints *i)
++ {
++           return(i->window_group);
++ }
++ 
++-void set_XWMHints_window_group(i, j)
++-XWMHints* i;
++-int j;
+++void 
+++set_XWMHints_window_group (XWMHints *i, int j)
++ {
++           i->window_group = j;
++ }
++ 
++-int  XWMHints_icon_mask(i)
++-XWMHints* i;
+++int 
+++XWMHints_icon_mask (XWMHints *i)
++ {
++           return(i->icon_mask);
++ }
++ 
++-void set_XWMHints_icon_mask(i, j)
++-XWMHints* i;
++-int j;
+++void 
+++set_XWMHints_icon_mask (XWMHints *i, int j)
++ {
++           i->icon_mask = j;
++ }
++ 
++-int  XWMHints_icon_y(i)
++-XWMHints* i;
+++int 
+++XWMHints_icon_y (XWMHints *i)
++ {
++           return(i->icon_y);
++ }
++ 
++-void set_XWMHints_icon_y(i, j)
++-XWMHints* i;
++-int j;
+++void 
+++set_XWMHints_icon_y (XWMHints *i, int j)
++ {
++           i->icon_y = j;
++ }
++ 
++-int  XWMHints_icon_x(i)
++-XWMHints* i;
+++int 
+++XWMHints_icon_x (XWMHints *i)
++ {
++           return(i->icon_x);
++ }
++ 
++-void set_XWMHints_icon_x(i, j)
++-XWMHints* i;
++-int j;
+++void 
+++set_XWMHints_icon_x (XWMHints *i, int j)
++ {
++           i->icon_x = j;
++ }
++ 
++-int  XWMHints_icon_window(i)
++-XWMHints* i;
+++int 
+++XWMHints_icon_window (XWMHints *i)
++ {
++           return(i->icon_window);
++ }
++ 
++-void set_XWMHints_icon_window(i, j)
++-XWMHints* i;
++-int j;
+++void 
+++set_XWMHints_icon_window (XWMHints *i, int j)
++ {
++           i->icon_window = j;
++ }
++ 
++-int  XWMHints_icon_pixmap(i)
++-XWMHints* i;
+++int 
+++XWMHints_icon_pixmap (XWMHints *i)
++ {
++           return(i->icon_pixmap);
++ }
++ 
++-void set_XWMHints_icon_pixmap(i, j)
++-XWMHints* i;
++-int j;
+++void 
+++set_XWMHints_icon_pixmap (XWMHints *i, int j)
++ {
++           i->icon_pixmap = j;
++ }
++ 
++-int  XWMHints_initial_state(i)
++-XWMHints* i;
+++int 
+++XWMHints_initial_state (XWMHints *i)
++ {
++           return(i->initial_state);
++ }
++ 
++-void set_XWMHints_initial_state(i, j)
++-XWMHints* i;
++-int j;
+++void 
+++set_XWMHints_initial_state (XWMHints *i, int j)
++ {
++           i->initial_state = j;
++ }
++ 
++-int  XWMHints_input(i)
++-XWMHints* i;
+++int 
+++XWMHints_input (XWMHints *i)
++ {
++           return(i->input);
++ }
++ 
++-void set_XWMHints_input(i, j)
++-XWMHints* i;
++-int j;
+++void 
+++set_XWMHints_input (XWMHints *i, int j)
++ {
++           i->input = j;
++ }
++ 
++-int  XWMHints_flags(i)
++-XWMHints* i;
+++int 
+++XWMHints_flags (XWMHints *i)
++ {
++           return(i->flags);
++ }
++ 
++-void set_XWMHints_flags(i, j)
++-XWMHints* i;
++-int j;
+++void 
+++set_XWMHints_flags (XWMHints *i, int j)
++ {
++           i->flags = j;
++ }
++@@ -983,58 +889,55 @@ int j;
++ 
++ /********* XTextProperty functions *****/
++ 
++-long  make_XTextProperty (){
+++long 
+++make_XTextProperty (void){
++           return ((long) calloc(1, sizeof(XTextProperty)));
++ }
++ 
++-int  XTextProperty_nitems(i)
++-XTextProperty *i;
+++int 
+++XTextProperty_nitems (XTextProperty *i)
++ {
++           return(i->nitems);
++ }
++ 
++-void set_XTextProperty_nitems(i, j)
++-XTextProperty* i;
++-int j;
+++void 
+++set_XTextProperty_nitems (XTextProperty *i, int j)
++ {
++           i->nitems = j;
++ }
++ 
++-int  XTextProperty_format(i)
++-XTextProperty* i;
+++int 
+++XTextProperty_format (XTextProperty *i)
++ {
++           return(i->format);
++ }
++ 
++-void set_XTextProperty_format(i, j)
++-XTextProperty* i;
++-int j;
+++void 
+++set_XTextProperty_format (XTextProperty *i, int j)
++ {
++           i->format = j;
++ }
++ 
++-int  XTextProperty_encoding(i)
++-XTextProperty* i;
+++int 
+++XTextProperty_encoding (XTextProperty *i)
++ {
++           return(i->encoding);
++ }
++ 
++-void set_XTextProperty_encoding(i, j)
++-XTextProperty* i;
++-int j;
+++void 
+++set_XTextProperty_encoding (XTextProperty *i, int j)
++ {
++           i->encoding = j;
++ }
++ 
++-long  XTextProperty_value(i)
++-XTextProperty* i;
+++long 
+++XTextProperty_value (XTextProperty *i)
++ {
++           return((long) i->value);
++ }
++ 
++-void set_XTextProperty_value(i, j)
++-XTextProperty* i;
++-long j;
+++void 
+++set_XTextProperty_value (XTextProperty *i, long j)
++ {
++           i->value = (unsigned char *) j;
++ }
++@@ -1042,84 +945,79 @@ long j;
++ 
++ /********* XIconSize functions *****/
++ 
++-long  make_XIconSize (){
+++long 
+++make_XIconSize (void){
++           return ((long) calloc(1, sizeof(XIconSize)));
++ }
++ 
++-int  XIconSize_height_inc(i)
++-XIconSize* i;
+++int 
+++XIconSize_height_inc (XIconSize *i)
++ {
++           return(i->height_inc);
++ }
++ 
++-void set_XIconSize_height_inc(i, j)
++-XIconSize* i;
++-int j;
+++void 
+++set_XIconSize_height_inc (XIconSize *i, int j)
++ {
++           i->height_inc = j;
++ }
++ 
++-int  XIconSize_width_inc(i)
++-XIconSize* i;
+++int 
+++XIconSize_width_inc (XIconSize *i)
++ {
++           return(i->width_inc);
++ }
++ 
++-void set_XIconSize_width_inc(i, j)
++-XIconSize* i;
++-int j;
+++void 
+++set_XIconSize_width_inc (XIconSize *i, int j)
++ {
++           i->width_inc = j;
++ }
++ 
++-int  XIconSize_max_height(i)
++-XIconSize* i;
+++int 
+++XIconSize_max_height (XIconSize *i)
++ {
++           return(i->max_height);
++ }
++ 
++-void set_XIconSize_max_height(i, j)
++-XIconSize* i;
++-int j;
+++void 
+++set_XIconSize_max_height (XIconSize *i, int j)
++ {
++           i->max_height = j;
++ }
++ 
++-int  XIconSize_max_width(i)
++-XIconSize* i;
+++int 
+++XIconSize_max_width (XIconSize *i)
++ {
++           return(i->max_width);
++ }
++ 
++-void set_XIconSize_max_width(i, j)
++-XIconSize* i;
++-int j;
+++void 
+++set_XIconSize_max_width (XIconSize *i, int j)
++ {
++           i->max_width = j;
++ }
++ 
++-int  XIconSize_min_height(i)
++-XIconSize* i;
+++int 
+++XIconSize_min_height (XIconSize *i)
++ {
++           return(i->min_height);
++ }
++ 
++-void set_XIconSize_min_height(i, j)
++-XIconSize* i;
++-int j;
+++void 
+++set_XIconSize_min_height (XIconSize *i, int j)
++ {
++           i->min_height = j;
++ }
++ 
++-int  XIconSize_min_width(i)
++-XIconSize* i;
+++int 
+++XIconSize_min_width (XIconSize *i)
++ {
++           return(i->min_width);
++ }
++ 
++-void set_XIconSize_min_width(i, j)
++-XIconSize* i;
++-int j;
+++void 
+++set_XIconSize_min_width (XIconSize *i, int j)
++ {
++           i->min_width = j;
++ }
++@@ -1127,32 +1025,31 @@ int j;
++ 
++ /********* XClassHint functions *****/
++ 
++-long  make_XClassHint (){
+++long 
+++make_XClassHint (void){
++           return ((long) calloc(1, sizeof(XClassHint)));
++ }
++ 
++-long  XClassHint_res_class(i)
++-XClassHint* i;
+++long 
+++XClassHint_res_class (XClassHint *i)
++ {
++           return((long) i->res_class);
++ }
++ 
++-void set_XClassHint_res_class(i, j)
++-XClassHint* i;
++-long j;
+++void 
+++set_XClassHint_res_class (XClassHint *i, long j)
++ {
++           i->res_class = (char *) j;
++ }
++ 
++-long  XClassHint_res_name(i)
++-XClassHint* i;
+++long 
+++XClassHint_res_name (XClassHint *i)
++ {
++           return((long) i->res_name);
++ }
++ 
++-void set_XClassHint_res_name(i, j)
++-XClassHint* i;
++-long j;
+++void 
+++set_XClassHint_res_name (XClassHint *i, long j)
++ {
++           i->res_name = (char *) j;
++ }
++@@ -1160,32 +1057,31 @@ long j;
++ 
++ /********* XComposeStatus functions *****/
++ 
++-long  make_XComposeStatus (){
+++long 
+++make_XComposeStatus (void){
++           return ((long) calloc(1, sizeof(XComposeStatus)));
++ }
++ 
++-int  XComposeStatus_chars_matched(i)
++-XComposeStatus* i;
+++int 
+++XComposeStatus_chars_matched (XComposeStatus *i)
++ {
++           return(i->chars_matched);
++ }
++ 
++-void set_XComposeStatus_chars_matched(i, j)
++-XComposeStatus* i;
++-int j;
+++void 
+++set_XComposeStatus_chars_matched (XComposeStatus *i, int j)
++ {
++           i->chars_matched = j;
++ }
++ 
++-long  XComposeStatus_compose_ptr(i)
++-XComposeStatus* i;
+++long 
+++XComposeStatus_compose_ptr (XComposeStatus *i)
++ {
++           return((long) i->compose_ptr);
++ }
++ 
++-void set_XComposeStatus_compose_ptr(i, j)
++-XComposeStatus* i;
++-long j;
+++void 
+++set_XComposeStatus_compose_ptr (XComposeStatus *i, long j)
++ {
++           i->compose_ptr = (XPointer) j;
++ }
++@@ -1193,136 +1089,127 @@ long j;
++ 
++ /********* XVisualInfo functions *****/
++ 
++-long  make_XVisualInfo (){
+++long 
+++make_XVisualInfo (void){
++           return ((long) calloc(1, sizeof(XVisualInfo)));
++ }
++ 
++-int  XVisualInfo_bits_per_rgb(i)
++-XVisualInfo* i;
+++int 
+++XVisualInfo_bits_per_rgb (XVisualInfo *i)
++ {
++           return(i->bits_per_rgb);
++ }
++ 
++-void set_XVisualInfo_bits_per_rgb(i, j)
++-XVisualInfo* i;
++-int j;
+++void 
+++set_XVisualInfo_bits_per_rgb (XVisualInfo *i, int j)
++ {
++           i->bits_per_rgb = j;
++ }
++ 
++-int  XVisualInfo_colormap_size(i)
++-XVisualInfo* i;
+++int 
+++XVisualInfo_colormap_size (XVisualInfo *i)
++ {
++           return(i->colormap_size);
++ }
++ 
++-void set_XVisualInfo_colormap_size(i, j)
++-XVisualInfo* i;
++-int j;
+++void 
+++set_XVisualInfo_colormap_size (XVisualInfo *i, int j)
++ {
++           i->colormap_size = j;
++ }
++ 
++-int  XVisualInfo_blue_mask(i)
++-XVisualInfo* i;
+++int 
+++XVisualInfo_blue_mask (XVisualInfo *i)
++ {
++           return(i->blue_mask);
++ }
++ 
++-void set_XVisualInfo_blue_mask(i, j)
++-XVisualInfo* i;
++-int j;
+++void 
+++set_XVisualInfo_blue_mask (XVisualInfo *i, int j)
++ {
++           i->blue_mask = j;
++ }
++ 
++-int  XVisualInfo_green_mask(i)
++-XVisualInfo* i;
+++int 
+++XVisualInfo_green_mask (XVisualInfo *i)
++ {
++           return(i->green_mask);
++ }
++ 
++-void set_XVisualInfo_green_mask(i, j)
++-XVisualInfo* i;
++-int j;
+++void 
+++set_XVisualInfo_green_mask (XVisualInfo *i, int j)
++ {
++           i->green_mask = j;
++ }
++ 
++-int  XVisualInfo_red_mask(i)
++-XVisualInfo* i;
+++int 
+++XVisualInfo_red_mask (XVisualInfo *i)
++ {
++           return(i->red_mask);
++ }
++ 
++-void set_XVisualInfo_red_mask(i, j)
++-XVisualInfo* i;
++-int j;
+++void 
+++set_XVisualInfo_red_mask (XVisualInfo *i, int j)
++ {
++           i->red_mask = j;
++ }
++ 
++-int  XVisualInfo_class(i)
++-XVisualInfo* i;
+++int 
+++XVisualInfo_class (XVisualInfo *i)
++ {
++           return(i->class);
++ }
++ 
++-void set_XVisualInfo_class(i, j)
++-XVisualInfo* i;
++-int j;
+++void 
+++set_XVisualInfo_class (XVisualInfo *i, int j)
++ {
++           i->class = j;
++ }
++ 
++-int  XVisualInfo_depth(i)
++-XVisualInfo* i;
+++int 
+++XVisualInfo_depth (XVisualInfo *i)
++ {
++           return(i->depth);
++ }
++ 
++-void set_XVisualInfo_depth(i, j)
++-XVisualInfo* i;
++-int j;
+++void 
+++set_XVisualInfo_depth (XVisualInfo *i, int j)
++ {
++           i->depth = j;
++ }
++ 
++-int  XVisualInfo_screen(i)
++-XVisualInfo* i;
+++int 
+++XVisualInfo_screen (XVisualInfo *i)
++ {
++           return(i->screen);
++ }
++ 
++-void set_XVisualInfo_screen(i, j)
++-XVisualInfo* i;
++-int j;
+++void 
+++set_XVisualInfo_screen (XVisualInfo *i, int j)
++ {
++           i->screen = j;
++ }
++ 
++-int  XVisualInfo_visualid(i)
++-XVisualInfo* i;
+++int 
+++XVisualInfo_visualid (XVisualInfo *i)
++ {
++           return(i->visualid);
++ }
++ 
++-void set_XVisualInfo_visualid(i, j)
++-XVisualInfo* i;
++-int j;
+++void 
+++set_XVisualInfo_visualid (XVisualInfo *i, int j)
++ {
++           i->visualid = j;
++ }
++ 
++-long  XVisualInfo_visual(i)
++-XVisualInfo* i;
+++long 
+++XVisualInfo_visual (XVisualInfo *i)
++ {
++           return((long) i->visual);
++ }
++ 
++-void set_XVisualInfo_visual(i, j)
++-XVisualInfo* i;
++-long j;
+++void 
+++set_XVisualInfo_visual (XVisualInfo *i, long j)
++ {
++           i->visual = (Visual *) j;
++ }
++@@ -1330,136 +1217,127 @@ long j;
++ 
++ /********* XStandardColormap functions *****/
++ 
++-long  make_XStandardColormap (){
+++long 
+++make_XStandardColormap (void){
++           return ((long) calloc(1, sizeof(XStandardColormap)));
++ }
++ 
++-int  XStandardColormap_killid(i)
++-XStandardColormap* i;
+++int 
+++XStandardColormap_killid (XStandardColormap *i)
++ {
++           return(i->killid);
++ }
++ 
++-void set_XStandardColormap_killid(i, j)
++-XStandardColormap* i;
++-int j;
+++void 
+++set_XStandardColormap_killid (XStandardColormap *i, int j)
++ {
++           i->killid = j;
++ }
++ 
++-int  XStandardColormap_visualid(i)
++-XStandardColormap* i;
+++int 
+++XStandardColormap_visualid (XStandardColormap *i)
++ {
++           return(i->visualid);
++ }
++ 
++-void set_XStandardColormap_visualid(i, j)
++-XStandardColormap* i;
++-int j;
+++void 
+++set_XStandardColormap_visualid (XStandardColormap *i, int j)
++ {
++           i->visualid = j;
++ }
++ 
++-int  XStandardColormap_base_pixel(i)
++-XStandardColormap* i;
+++int 
+++XStandardColormap_base_pixel (XStandardColormap *i)
++ {
++           return(i->base_pixel);
++ }
++ 
++-void set_XStandardColormap_base_pixel(i, j)
++-XStandardColormap* i;
++-int j;
+++void 
+++set_XStandardColormap_base_pixel (XStandardColormap *i, int j)
++ {
++           i->base_pixel = j;
++ }
++ 
++-int  XStandardColormap_blue_mult(i)
++-XStandardColormap* i;
+++int 
+++XStandardColormap_blue_mult (XStandardColormap *i)
++ {
++           return(i->blue_mult);
++ }
++ 
++-void set_XStandardColormap_blue_mult(i, j)
++-XStandardColormap* i;
++-int j;
+++void 
+++set_XStandardColormap_blue_mult (XStandardColormap *i, int j)
++ {
++           i->blue_mult = j;
++ }
++ 
++-int  XStandardColormap_blue_max(i)
++-XStandardColormap* i;
+++int 
+++XStandardColormap_blue_max (XStandardColormap *i)
++ {
++           return(i->blue_max);
++ }
++ 
++-void set_XStandardColormap_blue_max(i, j)
++-XStandardColormap* i;
++-int j;
+++void 
+++set_XStandardColormap_blue_max (XStandardColormap *i, int j)
++ {
++           i->blue_max = j;
++ }
++ 
++-int  XStandardColormap_green_mult(i)
++-XStandardColormap* i;
+++int 
+++XStandardColormap_green_mult (XStandardColormap *i)
++ {
++           return(i->green_mult);
++ }
++ 
++-void set_XStandardColormap_green_mult(i, j)
++-XStandardColormap* i;
++-int j;
+++void 
+++set_XStandardColormap_green_mult (XStandardColormap *i, int j)
++ {
++           i->green_mult = j;
++ }
++ 
++-int  XStandardColormap_green_max(i)
++-XStandardColormap* i;
+++int 
+++XStandardColormap_green_max (XStandardColormap *i)
++ {
++           return(i->green_max);
++ }
++ 
++-void set_XStandardColormap_green_max(i, j)
++-XStandardColormap* i;
++-int j;
+++void 
+++set_XStandardColormap_green_max (XStandardColormap *i, int j)
++ {
++           i->green_max = j;
++ }
++ 
++-int  XStandardColormap_red_mult(i)
++-XStandardColormap* i;
+++int 
+++XStandardColormap_red_mult (XStandardColormap *i)
++ {
++           return(i->red_mult);
++ }
++ 
++-void set_XStandardColormap_red_mult(i, j)
++-XStandardColormap* i;
++-int j;
+++void 
+++set_XStandardColormap_red_mult (XStandardColormap *i, int j)
++ {
++           i->red_mult = j;
++ }
++ 
++-int  XStandardColormap_red_max(i)
++-XStandardColormap* i;
+++int 
+++XStandardColormap_red_max (XStandardColormap *i)
++ {
++           return(i->red_max);
++ }
++ 
++-void set_XStandardColormap_red_max(i, j)
++-XStandardColormap* i;
++-int j;
+++void 
+++set_XStandardColormap_red_max (XStandardColormap *i, int j)
++ {
++           i->red_max = j;
++ }
++ 
++-int  XStandardColormap_colormap(i)
++-XStandardColormap* i;
+++int 
+++XStandardColormap_colormap (XStandardColormap *i)
++ {
++           return(i->colormap);
++ }
++ 
++-void set_XStandardColormap_colormap(i, j)
++-XStandardColormap* i;
++-int j;
+++void 
+++set_XStandardColormap_colormap (XStandardColormap *i, int j)
++ {
++           i->colormap = j;
++ }
++--- gcl27-2.7.1.orig/xgcl-2/XStruct-4.c
+++++ gcl27-2.7.1/xgcl-2/XStruct-4.c
++@@ -30,58 +30,54 @@
++ 
++ /********* XExtCodes functions *****/
++ 
++-long  make_XExtCodes (){
+++long make_XExtCodes (void)
+++{
++           return ((long) calloc(1, sizeof(XExtCodes)));
++ }
++ 
++-int  XExtCodes_first_error(i)
++-XExtCodes* i;
+++int XExtCodes_first_error (XExtCodes* i)
++ {
++           return(i->first_error);
++ }
++ 
++-void set_XExtCodes_first_error(i, j)
++-XExtCodes* i;
++-int j;
+++void 
+++set_XExtCodes_first_error (XExtCodes *i, int j)
++ {
++           i->first_error = j;
++ }
++ 
++-int  XExtCodes_first_event(i)
++-XExtCodes* i;
+++int 
+++XExtCodes_first_event (XExtCodes *i)
++ {
++           return(i->first_event);
++ }
++ 
++-void set_XExtCodes_first_event(i, j)
++-XExtCodes* i;
++-int j;
+++void 
+++set_XExtCodes_first_event (XExtCodes *i, int j)
++ {
++           i->first_event = j;
++ }
++ 
++-int  XExtCodes_major_opcode(i)
++-XExtCodes* i;
+++int 
+++XExtCodes_major_opcode (XExtCodes *i)
++ {
++           return(i->major_opcode);
++ }
++ 
++-void set_XExtCodes_major_opcode(i, j)
++-XExtCodes* i;
++-int j;
+++void 
+++set_XExtCodes_major_opcode (XExtCodes *i, int j)
++ {
++           i->major_opcode = j;
++ }
++ 
++-int  XExtCodes_extension(i)
++-XExtCodes* i;
+++int 
+++XExtCodes_extension (XExtCodes *i)
++ {
++           return(i->extension);
++ }
++ 
++-void set_XExtCodes_extension(i, j)
++-XExtCodes* i;
++-int j;
+++void 
+++set_XExtCodes_extension (XExtCodes *i, int j)
++ {
++           i->extension = j;
++ }
++@@ -89,45 +85,43 @@ int j;
++ 
++ /********* XPixmapFormatValues functions *****/
++ 
++-long  make_XPixmapFormatValues (){
+++long 
+++make_XPixmapFormatValues (void){
++           return ((long) calloc(1, sizeof(XPixmapFormatValues)));
++ }
++ 
++-int  XPixmapFormatValues_scanline_pad(i)
++-XPixmapFormatValues* i;
+++int 
+++XPixmapFormatValues_scanline_pad (XPixmapFormatValues *i)
++ {
++           return(i->scanline_pad);
++ }
++ 
++-void set_XPixmapFormatValues_scanline_pad(i, j)
++-XPixmapFormatValues* i;
++-int j;
+++void 
+++set_XPixmapFormatValues_scanline_pad (XPixmapFormatValues *i, int j)
++ {
++           i->scanline_pad = j;
++ }
++ 
++-int  XPixmapFormatValues_bits_per_pixel(i)
++-XPixmapFormatValues* i;
+++int 
+++XPixmapFormatValues_bits_per_pixel (XPixmapFormatValues *i)
++ {
++           return(i->bits_per_pixel);
++ }
++ 
++-void set_XPixmapFormatValues_bits_per_pixel(i, j)
++-XPixmapFormatValues* i;
++-int j;
+++void 
+++set_XPixmapFormatValues_bits_per_pixel (XPixmapFormatValues *i, int j)
++ {
++           i->bits_per_pixel = j;
++ }
++ 
++-int  XPixmapFormatValues_depth(i)
++-XPixmapFormatValues* i;
+++int 
+++XPixmapFormatValues_depth (XPixmapFormatValues *i)
++ {
++           return(i->depth);
++ }
++ 
++-void set_XPixmapFormatValues_depth(i, j)
++-XPixmapFormatValues* i;
++-int j;
+++void 
+++set_XPixmapFormatValues_depth (XPixmapFormatValues *i, int j)
++ {
++           i->depth = j;
++ }
++@@ -135,305 +129,283 @@ int j;
++ 
++ /********* XGCValues functions *****/
++ 
++-long  make_XGCValues (){
+++long 
+++make_XGCValues (void){
++           return ((long) calloc(1, sizeof(XGCValues)));
++ }
++ 
++-char XGCValues_dashes(i)
++-XGCValues* i;
+++char 
+++XGCValues_dashes (XGCValues *i)
++ {
++           return(i->dashes);
++ }
++ 
++-void set_XGCValues_dashes(i, j)
++-XGCValues* i;
++-char j;
+++void 
+++set_XGCValues_dashes (XGCValues *i, int j)
++ {
++           i->dashes = j;
++ }
++ 
++-int  XGCValues_dash_offset(i)
++-XGCValues* i;
+++int 
+++XGCValues_dash_offset (XGCValues *i)
++ {
++           return(i->dash_offset);
++ }
++ 
++-void set_XGCValues_dash_offset(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_dash_offset (XGCValues *i, int j)
++ {
++           i->dash_offset = j;
++ }
++ 
++-int  XGCValues_clip_mask(i)
++-XGCValues* i;
+++int 
+++XGCValues_clip_mask (XGCValues *i)
++ {
++           return(i->clip_mask);
++ }
++ 
++-void set_XGCValues_clip_mask(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_clip_mask (XGCValues *i, int j)
++ {
++           i->clip_mask = j;
++ }
++ 
++-int  XGCValues_clip_y_origin(i)
++-XGCValues* i;
+++int 
+++XGCValues_clip_y_origin (XGCValues *i)
++ {
++           return(i->clip_y_origin);
++ }
++ 
++-void set_XGCValues_clip_y_origin(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_clip_y_origin (XGCValues *i, int j)
++ {
++           i->clip_y_origin = j;
++ }
++ 
++-int  XGCValues_clip_x_origin(i)
++-XGCValues* i;
+++int 
+++XGCValues_clip_x_origin (XGCValues *i)
++ {
++           return(i->clip_x_origin);
++ }
++ 
++-void set_XGCValues_clip_x_origin(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_clip_x_origin (XGCValues *i, int j)
++ {
++           i->clip_x_origin = j;
++ }
++ 
++-int  XGCValues_graphics_exposures(i)
++-XGCValues* i;
+++int 
+++XGCValues_graphics_exposures (XGCValues *i)
++ {
++           return(i->graphics_exposures);
++ }
++ 
++-void set_XGCValues_graphics_exposures(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_graphics_exposures (XGCValues *i, int j)
++ {
++           i->graphics_exposures = j;
++ }
++ 
++-int  XGCValues_subwindow_mode(i)
++-XGCValues* i;
+++int 
+++XGCValues_subwindow_mode (XGCValues *i)
++ {
++           return(i->subwindow_mode);
++ }
++ 
++-void set_XGCValues_subwindow_mode(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_subwindow_mode (XGCValues *i, int j)
++ {
++           i->subwindow_mode = j;
++ }
++ 
++-int  XGCValues_font(i)
++-XGCValues* i;
+++int 
+++XGCValues_font (XGCValues *i)
++ {
++           return(i->font);
++ }
++ 
++-void set_XGCValues_font(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_font (XGCValues *i, int j)
++ {
++           i->font = j;
++ }
++ 
++-int  XGCValues_ts_y_origin(i)
++-XGCValues* i;
+++int 
+++XGCValues_ts_y_origin (XGCValues *i)
++ {
++           return(i->ts_y_origin);
++ }
++ 
++-void set_XGCValues_ts_y_origin(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_ts_y_origin (XGCValues *i, int j)
++ {
++           i->ts_y_origin = j;
++ }
++ 
++-int  XGCValues_ts_x_origin(i)
++-XGCValues* i;
+++int 
+++XGCValues_ts_x_origin (XGCValues *i)
++ {
++           return(i->ts_x_origin);
++ }
++ 
++-void set_XGCValues_ts_x_origin(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_ts_x_origin (XGCValues *i, int j)
++ {
++           i->ts_x_origin = j;
++ }
++ 
++-int  XGCValues_stipple(i)
++-XGCValues* i;
+++int 
+++XGCValues_stipple (XGCValues *i)
++ {
++           return(i->stipple);
++ }
++ 
++-void set_XGCValues_stipple(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_stipple (XGCValues *i, int j)
++ {
++           i->stipple = j;
++ }
++ 
++-int  XGCValues_tile(i)
++-XGCValues* i;
+++int 
+++XGCValues_tile (XGCValues *i)
++ {
++           return(i->tile);
++ }
++ 
++-void set_XGCValues_tile(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_tile (XGCValues *i, int j)
++ {
++           i->tile = j;
++ }
++ 
++-int  XGCValues_arc_mode(i)
++-XGCValues* i;
+++int 
+++XGCValues_arc_mode (XGCValues *i)
++ {
++           return(i->arc_mode);
++ }
++ 
++-void set_XGCValues_arc_mode(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_arc_mode (XGCValues *i, int j)
++ {
++           i->arc_mode = j;
++ }
++ 
++-int  XGCValues_fill_rule(i)
++-XGCValues* i;
+++int 
+++XGCValues_fill_rule (XGCValues *i)
++ {
++           return(i->fill_rule);
++ }
++ 
++-void set_XGCValues_fill_rule(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_fill_rule (XGCValues *i, int j)
++ {
++           i->fill_rule = j;
++ }
++ 
++-int  XGCValues_fill_style(i)
++-XGCValues* i;
+++int 
+++XGCValues_fill_style (XGCValues *i)
++ {
++           return(i->fill_style);
++ }
++ 
++-void set_XGCValues_fill_style(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_fill_style (XGCValues *i, int j)
++ {
++           i->fill_style = j;
++ }
++ 
++-int  XGCValues_join_style(i)
++-XGCValues* i;
+++int 
+++XGCValues_join_style (XGCValues *i)
++ {
++           return(i->join_style);
++ }
++ 
++-void set_XGCValues_join_style(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_join_style (XGCValues *i, int j)
++ {
++           i->join_style = j;
++ }
++ 
++-int  XGCValues_cap_style(i)
++-XGCValues* i;
+++int 
+++XGCValues_cap_style (XGCValues *i)
++ {
++           return(i->cap_style);
++ }
++ 
++-void set_XGCValues_cap_style(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_cap_style (XGCValues *i, int j)
++ {
++           i->cap_style = j;
++ }
++ 
++-int  XGCValues_line_style(i)
++-XGCValues* i;
+++int 
+++XGCValues_line_style (XGCValues *i)
++ {
++           return(i->line_style);
++ }
++ 
++-void set_XGCValues_line_style(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_line_style (XGCValues *i, int j)
++ {
++           i->line_style = j;
++ }
++ 
++-int  XGCValues_line_width(i)
++-XGCValues* i;
+++int 
+++XGCValues_line_width (XGCValues *i)
++ {
++           return(i->line_width);
++ }
++ 
++-void set_XGCValues_line_width(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_line_width (XGCValues *i, int j)
++ {
++           i->line_width = j;
++ }
++ 
++-int  XGCValues_background(i)
++-XGCValues* i;
+++int 
+++XGCValues_background (XGCValues *i)
++ {
++           return(i->background);
++ }
++ 
++-void set_XGCValues_background(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_background (XGCValues *i, int j)
++ {
++           i->background = j;
++ }
++ 
++-int  XGCValues_foreground(i)
++-XGCValues* i;
+++int 
+++XGCValues_foreground (XGCValues *i)
++ {
++           return(i->foreground);
++ }
++ 
++-void set_XGCValues_foreground(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_foreground (XGCValues *i, int j)
++ {
++           i->foreground = j;
++ }
++ 
++-int  XGCValues_plane_mask(i)
++-XGCValues* i;
+++int 
+++XGCValues_plane_mask (XGCValues *i)
++ {
++           return(i->plane_mask);
++ }
++ 
++-void set_XGCValues_plane_mask(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_plane_mask (XGCValues *i, int j)
++ {
++           i->plane_mask = j;
++ }
++ 
++-int  XGCValues_function(i)
++-XGCValues* i;
+++int 
+++XGCValues_function (XGCValues *i)
++ {
++           return(i->function);
++ }
++ 
++-void set_XGCValues_function(i, j)
++-XGCValues* i;
++-int j;
+++void 
+++set_XGCValues_function (XGCValues *i, int j)
++ {
++           i->function = j;
++ }
++@@ -528,110 +500,103 @@ int j;
++ 
++ /********* Visual functions *****/
++ 
++-long  make_Visual (){
+++long 
+++make_Visual (void){
++           return ((long) calloc(1, sizeof(Visual)));
++ }
++ 
++-int  Visual_map_entries(i)
++-Visual* i;
+++int 
+++Visual_map_entries (Visual *i)
++ {
++           return(i->map_entries);
++ }
++ 
++-void set_Visual_map_entries(i, j)
++-Visual* i;
++-int j;
+++void 
+++set_Visual_map_entries (Visual *i, int j)
++ {
++           i->map_entries = j;
++ }
++ 
++-int  Visual_bits_per_rgb(i)
++-Visual* i;
+++int 
+++Visual_bits_per_rgb (Visual *i)
++ {
++           return(i->bits_per_rgb);
++ }
++ 
++-void set_Visual_bits_per_rgb(i, j)
++-Visual* i;
++-int j;
+++void 
+++set_Visual_bits_per_rgb (Visual *i, int j)
++ {
++           i->bits_per_rgb = j;
++ }
++ 
++-int   Visual_blue_mask(i)
++-Visual* i;
+++int 
+++Visual_blue_mask (Visual *i)
++ {
++           return(i->blue_mask);
++ }
++ 
++-void set_Visual_blue_mask(i, j)
++-Visual* i;
++-int j;
+++void 
+++set_Visual_blue_mask (Visual *i, int j)
++ {
++           i->blue_mask = j;
++ }
++ 
++-int  Visual_green_mask(i)
++-Visual* i;
+++int 
+++Visual_green_mask (Visual *i)
++ {
++           return(i->green_mask);
++ }
++ 
++-void set_Visual_green_mask(i, j)
++-Visual* i;
++-int j;
+++void 
+++set_Visual_green_mask (Visual *i, int j)
++ {
++           i->green_mask = j;
++ }
++ 
++-int  Visual_red_mask(i)
++-Visual* i;
+++int 
+++Visual_red_mask (Visual *i)
++ {
++           return(i->red_mask);
++ }
++ 
++-void set_Visual_red_mask(i, j)
++-Visual* i;
++-int j;
+++void 
+++set_Visual_red_mask (Visual *i, int j)
++ {
++           i->red_mask = j;
++ }
++ 
++-int  Visual_class(i)
++-Visual* i;
+++int 
+++Visual_class (Visual *i)
++ {
++           return(i->class);
++ }
++ 
++-void set_Visual_class(i, j)
++-Visual* i;
++-int j;
+++void 
+++set_Visual_class (Visual *i, int j)
++ {
++           i->class = j;
++ }
++ 
++-int  Visual_visualid(i)
++-Visual* i;
+++int 
+++Visual_visualid (Visual *i)
++ {
++           return(i->visualid);
++ }
++ 
++-void set_Visual_visualid(i, j)
++-Visual* i;
++-int j;
+++void 
+++set_Visual_visualid (Visual *i, int j)
++ {
++           i->visualid = j;
++ }
++ 
++-long  Visual_ext_data(i)
++-Visual* i;
+++long 
+++Visual_ext_data (Visual *i)
++ {
++           return((long) i->ext_data);
++ }
++ 
++-void set_Visual_ext_data(i, j)
++-Visual* i;
++-long j;
+++void 
+++set_Visual_ext_data (Visual *i, long j)
++ {
++           i->ext_data = (XExtData *) j;
++ }
++@@ -639,45 +604,43 @@ long j;
++ 
++ /********* Depth functions *****/
++ 
++-long  make_Depth (){
+++long 
+++make_Depth (void){
++           return ((long) calloc(1, sizeof(Depth)));
++ }
++ 
++-long  Depth_visuals(i)
++-Depth* i;
+++long 
+++Depth_visuals (Depth *i)
++ {
++           return((long) i->visuals);
++ }
++ 
++-void set_Depth_visuals(i, j)
++-Depth* i;
++-long j;
+++void 
+++set_Depth_visuals (Depth *i, long j)
++ {
++           i->visuals = (Visual *) j;
++ }
++ 
++-int  Depth_nvisuals(i)
++-Depth* i;
+++int 
+++Depth_nvisuals (Depth *i)
++ {
++           return(i->nvisuals);
++ }
++ 
++-void set_Depth_nvisuals(i, j)
++-Depth* i;
++-int j;
+++void 
+++set_Depth_nvisuals (Depth *i, int j)
++ {
++           i->nvisuals = j;
++ }
++ 
++-int  Depth_depth(i)
++-Depth* i;
+++int 
+++Depth_depth (Depth *i)
++ {
++           return(i->depth);
++ }
++ 
++-void set_Depth_depth(i, j)
++-Depth* i;
++-int j;
+++void 
+++set_Depth_depth (Depth *i, int j)
++ {
++           i->depth = j;
++ }
++@@ -685,266 +648,247 @@ int j;
++ 
++ /********* Screen functions *****/
++ 
++-long  make_Screen (){
+++long 
+++make_Screen (void){
++           return ((long) calloc(1, sizeof(Screen)));
++ }
++ 
++-int  Screen_root_input_mask(i)
++-Screen* i;
+++int 
+++Screen_root_input_mask (Screen *i)
++ {
++           return(i->root_input_mask);
++ }
++ 
++-void set_Screen_root_input_mask(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_root_input_mask (Screen *i, int j)
++ {
++           i->root_input_mask = j;
++ }
++ 
++-int  Screen_save_unders(i)
++-Screen* i;
+++int 
+++Screen_save_unders (Screen *i)
++ {
++           return(i->save_unders);
++ }
++ 
++-void set_Screen_save_unders(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_save_unders (Screen *i, int j)
++ {
++           i->save_unders = j;
++ }
++ 
++-int  Screen_backing_store(i)
++-Screen* i;
+++int 
+++Screen_backing_store (Screen *i)
++ {
++           return(i->backing_store);
++ }
++ 
++-void set_Screen_backing_store(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_backing_store (Screen *i, int j)
++ {
++           i->backing_store = j;
++ }
++ 
++-int  Screen_min_maps(i)
++-Screen* i;
+++int 
+++Screen_min_maps (Screen *i)
++ {
++           return(i->min_maps);
++ }
++ 
++-void set_Screen_min_maps(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_min_maps (Screen *i, int j)
++ {
++           i->min_maps = j;
++ }
++ 
++-int  Screen_max_maps(i)
++-Screen* i;
+++int 
+++Screen_max_maps (Screen *i)
++ {
++           return(i->max_maps);
++ }
++ 
++-void set_Screen_max_maps(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_max_maps (Screen *i, int j)
++ {
++           i->max_maps = j;
++ }
++ 
++-int  Screen_black_pixel(i)
++-Screen* i;
+++int 
+++Screen_black_pixel (Screen *i)
++ {
++           return(i->black_pixel);
++ }
++ 
++-void set_Screen_black_pixel(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_black_pixel (Screen *i, int j)
++ {
++           i->black_pixel = j;
++ }
++ 
++-int  Screen_white_pixel(i)
++-Screen* i;
+++int 
+++Screen_white_pixel (Screen *i)
++ {
++           return(i->white_pixel);
++ }
++ 
++-void set_Screen_white_pixel(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_white_pixel (Screen *i, int j)
++ {
++           i->white_pixel = j;
++ }
++ 
++-int  Screen_cmap(i)
++-Screen* i;
+++int 
+++Screen_cmap (Screen *i)
++ {
++           return(i->cmap);
++ }
++ 
++-void set_Screen_cmap(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_cmap (Screen *i, int j)
++ {
++           i->cmap = j;
++ }
++ 
++-long  Screen_default_gc(i)
++-Screen* i;
+++long 
+++Screen_default_gc (Screen *i)
++ {
++           return((long) i->default_gc);
++ }
++ 
++-void set_Screen_default_gc(i, j)
++-Screen* i;
++-long j;
+++void 
+++set_Screen_default_gc (Screen *i, long j)
++ {
++           i->default_gc = (GC) j;
++ }
++ 
++-long  Screen_root_visual(i)
++-Screen* i;
+++long 
+++Screen_root_visual (Screen *i)
++ {
++           return((long) i->root_visual);
++ }
++ 
++-void set_Screen_root_visual(i, j)
++-Screen* i;
++-long j;
+++void 
+++set_Screen_root_visual (Screen *i, long j)
++ {
++           i->root_visual = (Visual *) j;
++ }
++ 
++-int  Screen_root_depth(i)
++-Screen* i;
+++int 
+++Screen_root_depth (Screen *i)
++ {
++           return(i->root_depth);
++ }
++ 
++-void set_Screen_root_depth(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_root_depth (Screen *i, int j)
++ {
++           i->root_depth = j;
++ }
++ 
++-long  Screen_depths(i)
++-Screen* i;
+++long 
+++Screen_depths (Screen *i)
++ {
++           return((long) i->depths);
++ }
++ 
++-void set_Screen_depths(i, j)
++-Screen* i;
++-long j;
+++void 
+++set_Screen_depths (Screen *i, long j)
++ {
++           i->depths = (Depth *) j;
++ }
++ 
++-int  Screen_ndepths(i)
++-Screen* i;
+++int 
+++Screen_ndepths (Screen *i)
++ {
++           return(i->ndepths);
++ }
++ 
++-void set_Screen_ndepths(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_ndepths (Screen *i, int j)
++ {
++           i->ndepths = j;
++ }
++ 
++-int  Screen_mheight(i)
++-Screen* i;
+++int 
+++Screen_mheight (Screen *i)
++ {
++           return(i->mheight);
++ }
++ 
++-void set_Screen_mheight(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_mheight (Screen *i, int j)
++ {
++           i->mheight = j;
++ }
++ 
++-int  Screen_mwidth(i)
++-Screen* i;
+++int 
+++Screen_mwidth (Screen *i)
++ {
++           return(i->mwidth);
++ }
++ 
++-void set_Screen_mwidth(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_mwidth (Screen *i, int j)
++ {
++           i->mwidth = j;
++ }
++ 
++-int  Screen_height(i)
++-Screen* i;
+++int 
+++Screen_height (Screen *i)
++ {
++           return(i->height);
++ }
++ 
++-void set_Screen_height(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_height (Screen *i, int j)
++ {
++           i->height = j;
++ }
++ 
++-int  Screen_width(i)
++-Screen* i;
+++int 
+++Screen_width (Screen *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_Screen_width(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_width (Screen *i, int j)
++ {
++           i->width = j;
++ }
++ 
++-int  Screen_root(i)
++-Screen* i;
+++int 
+++Screen_root (Screen *i)
++ {
++           return(i->root);
++ }
++ 
++-void set_Screen_root(i, j)
++-Screen* i;
++-int j;
+++void 
+++set_Screen_root (Screen *i, int j)
++ {
++           i->root = j;
++ }
++ 
++-long Screen_display(i)
++-Screen* i;
+++long 
+++Screen_display (Screen *i)
++ {
++           return((long) i->display);
++ }
++ 
++-void set_Screen_display(i, j)
++-Screen* i;
++-long j;
+++void 
+++set_Screen_display (Screen *i, long j)
++ {
++            i->display = (struct _XDisplay *) j;
++ }
++ 
++-long  Screen_ext_data(i)
++-Screen* i;
+++long 
+++Screen_ext_data (Screen *i)
++ {
++           return((long) i->ext_data);
++ }
++ 
++-void set_Screen_ext_data(i, j)
++-Screen* i;
++-long j;
+++void 
+++set_Screen_ext_data (Screen *i, long j)
++ {
++           i->ext_data = (XExtData *) j;
++ }
++@@ -952,58 +896,55 @@ long j;
++ 
++ /********* ScreenFormat functions *****/
++ 
++-long  make_ScreenFormat (){
+++long 
+++make_ScreenFormat (void){
++           return ((long) calloc(1, sizeof(ScreenFormat)));
++ }
++ 
++-int  ScreenFormat_scanline_pad(i)
++-ScreenFormat* i;
+++int 
+++ScreenFormat_scanline_pad (ScreenFormat *i)
++ {
++           return(i->scanline_pad);
++ }
++ 
++-void set_ScreenFormat_scanline_pad(i, j)
++-ScreenFormat* i;
++-int j;
+++void 
+++set_ScreenFormat_scanline_pad (ScreenFormat *i, int j)
++ {
++           i->scanline_pad = j;
++ }
++ 
++-int  ScreenFormat_bits_per_pixel(i)
++-ScreenFormat* i;
+++int 
+++ScreenFormat_bits_per_pixel (ScreenFormat *i)
++ {
++           return(i->bits_per_pixel);
++ }
++ 
++-void set_ScreenFormat_bits_per_pixel(i, j)
++-ScreenFormat* i;
++-int j;
+++void 
+++set_ScreenFormat_bits_per_pixel (ScreenFormat *i, int j)
++ {
++           i->bits_per_pixel = j;
++ }
++ 
++-int  ScreenFormat_depth(i)
++-ScreenFormat* i;
+++int 
+++ScreenFormat_depth (ScreenFormat *i)
++ {
++           return(i->depth);
++ }
++ 
++-void set_ScreenFormat_depth(i, j)
++-ScreenFormat* i;
++-int j;
+++void 
+++set_ScreenFormat_depth (ScreenFormat *i, int j)
++ {
++           i->depth = j;
++ }
++ 
++-long  ScreenFormat_ext_data(i)
++-ScreenFormat* i;
+++long 
+++ScreenFormat_ext_data (ScreenFormat *i)
++ {
++           return((long) i->ext_data);
++ }
++ 
++-void set_ScreenFormat_ext_data(i, j)
++-ScreenFormat* i;
++-long j;
+++void 
+++set_ScreenFormat_ext_data (ScreenFormat *i, long j)
++ {
++           i->ext_data = (XExtData *) j;
++ }
++@@ -1011,201 +952,187 @@ long j;
++ 
++ /********* XSetWindowAttributes functions *****/
++ 
++-long  make_XSetWindowAttributes (){
+++long 
+++make_XSetWindowAttributes (void){
++           return ((long) calloc(1, sizeof(XSetWindowAttributes)));
++ }
++ 
++-int  XSetWindowAttributes_cursor(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_cursor (XSetWindowAttributes *i)
++ {
++           return(i->cursor);
++ }
++ 
++-void set_XSetWindowAttributes_cursor(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_cursor (XSetWindowAttributes *i, int j)
++ {
++           i->cursor = j;
++ }
++ 
++-int  XSetWindowAttributes_colormap(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_colormap (XSetWindowAttributes *i)
++ {
++           return(i->colormap);
++ }
++ 
++-void set_XSetWindowAttributes_colormap(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_colormap (XSetWindowAttributes *i, int j)
++ {
++           i->colormap = j;
++ }
++ 
++-int  XSetWindowAttributes_override_redirect(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_override_redirect (XSetWindowAttributes *i)
++ {
++           return(i->override_redirect);
++ }
++ 
++-void set_XSetWindowAttributes_override_redirect(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_override_redirect (XSetWindowAttributes *i, int j)
++ {
++           i->override_redirect = j;
++ }
++ 
++-int  XSetWindowAttributes_do_not_propagate_mask(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_do_not_propagate_mask (XSetWindowAttributes *i)
++ {
++           return(i->do_not_propagate_mask);
++ }
++ 
++-void set_XSetWindowAttributes_do_not_propagate_mask(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_do_not_propagate_mask (XSetWindowAttributes *i, int j)
++ {
++           i->do_not_propagate_mask = j;
++ }
++ 
++-int  XSetWindowAttributes_event_mask(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_event_mask (XSetWindowAttributes *i)
++ {
++           return(i->event_mask);
++ }
++ 
++-void set_XSetWindowAttributes_event_mask(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_event_mask (XSetWindowAttributes *i, int j)
++ {
++           i->event_mask = j;
++ }
++ 
++-int  XSetWindowAttributes_save_under(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_save_under (XSetWindowAttributes *i)
++ {
++           return(i->save_under);
++ }
++ 
++-void set_XSetWindowAttributes_save_under(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_save_under (XSetWindowAttributes *i, int j)
++ {
++           i->save_under = j;
++ }
++ 
++-int  XSetWindowAttributes_backing_pixel(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_backing_pixel (XSetWindowAttributes *i)
++ {
++           return(i->backing_pixel);
++ }
++ 
++-void set_XSetWindowAttributes_backing_pixel(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_backing_pixel (XSetWindowAttributes *i, int j)
++ {
++           i->backing_pixel = j;
++ }
++ 
++-int  XSetWindowAttributes_backing_planes(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_backing_planes (XSetWindowAttributes *i)
++ {
++           return(i->backing_planes);
++ }
++ 
++-void set_XSetWindowAttributes_backing_planes(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_backing_planes (XSetWindowAttributes *i, int j)
++ {
++           i->backing_planes = j;
++ }
++ 
++-int  XSetWindowAttributes_backing_store(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_backing_store (XSetWindowAttributes *i)
++ {
++           return(i->backing_store);
++ }
++ 
++-void set_XSetWindowAttributes_backing_store(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_backing_store (XSetWindowAttributes *i, int j)
++ {
++           i->backing_store = j;
++ }
++ 
++-int  XSetWindowAttributes_win_gravity(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_win_gravity (XSetWindowAttributes *i)
++ {
++           return(i->win_gravity);
++ }
++ 
++-void set_XSetWindowAttributes_win_gravity(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_win_gravity (XSetWindowAttributes *i, int j)
++ {
++           i->win_gravity = j;
++ }
++ 
++-int  XSetWindowAttributes_bit_gravity(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_bit_gravity (XSetWindowAttributes *i)
++ {
++           return(i->bit_gravity);
++ }
++ 
++-void set_XSetWindowAttributes_bit_gravity(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_bit_gravity (XSetWindowAttributes *i, int j)
++ {
++           i->bit_gravity = j;
++ }
++ 
++-int  XSetWindowAttributes_border_pixel(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_border_pixel (XSetWindowAttributes *i)
++ {
++           return(i->border_pixel);
++ }
++ 
++-void set_XSetWindowAttributes_border_pixel(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_border_pixel (XSetWindowAttributes *i, int j)
++ {
++           i->border_pixel = j;
++ }
++ 
++-int  XSetWindowAttributes_border_pixmap(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_border_pixmap (XSetWindowAttributes *i)
++ {
++           return(i->border_pixmap);
++ }
++ 
++-void set_XSetWindowAttributes_border_pixmap(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_border_pixmap (XSetWindowAttributes *i, int j)
++ {
++           i->border_pixmap = j;
++ }
++ 
++-int  XSetWindowAttributes_background_pixel(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_background_pixel (XSetWindowAttributes *i)
++ {
++           return(i->background_pixel);
++ }
++ 
++-void set_XSetWindowAttributes_background_pixel(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_background_pixel (XSetWindowAttributes *i, int j)
++ {
++           i->background_pixel = j;
++ }
++ 
++-int  XSetWindowAttributes_background_pixmap(i)
++-XSetWindowAttributes* i;
+++int 
+++XSetWindowAttributes_background_pixmap (XSetWindowAttributes *i)
++ {
++           return(i->background_pixmap);
++ }
++ 
++-void set_XSetWindowAttributes_background_pixmap(i, j)
++-XSetWindowAttributes* i;
++-int j;
+++void 
+++set_XSetWindowAttributes_background_pixmap (XSetWindowAttributes *i, int j)
++ {
++           i->background_pixmap = j;
++ }
++@@ -1213,305 +1140,283 @@ int j;
++ 
++ /********* XWindowAttributes functions *****/
++ 
++-long  make_XWindowAttributes (){
+++long 
+++make_XWindowAttributes (void){
++           return ((long) calloc(1, sizeof(XWindowAttributes)));
++ }
++ 
++-long  XWindowAttributes_screen(i)
++-XWindowAttributes* i;
+++long 
+++XWindowAttributes_screen (XWindowAttributes *i)
++ {
++           return((long) i->screen);
++ }
++ 
++-void set_XWindowAttributes_screen(i, j)
++-XWindowAttributes* i;
++-long j;
+++void 
+++set_XWindowAttributes_screen (XWindowAttributes *i, long j)
++ {
++           i->screen = (Screen *) j;
++ }
++ 
++-int  XWindowAttributes_override_redirect(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_override_redirect (XWindowAttributes *i)
++ {
++           return(i->override_redirect);
++ }
++ 
++-void set_XWindowAttributes_override_redirect(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_override_redirect (XWindowAttributes *i, int j)
++ {
++           i->override_redirect = j;
++ }
++ 
++-int  XWindowAttributes_do_not_propagate_mask(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_do_not_propagate_mask (XWindowAttributes *i)
++ {
++           return(i->do_not_propagate_mask);
++ }
++ 
++-void set_XWindowAttributes_do_not_propagate_mask(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_do_not_propagate_mask (XWindowAttributes *i, int j)
++ {
++           i->do_not_propagate_mask = j;
++ }
++ 
++-int  XWindowAttributes_your_event_mask(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_your_event_mask (XWindowAttributes *i)
++ {
++           return(i->your_event_mask);
++ }
++ 
++-void set_XWindowAttributes_your_event_mask(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_your_event_mask (XWindowAttributes *i, int j)
++ {
++           i->your_event_mask = j;
++ }
++ 
++-int  XWindowAttributes_all_event_masks(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_all_event_masks (XWindowAttributes *i)
++ {
++           return(i->all_event_masks);
++ }
++ 
++-void set_XWindowAttributes_all_event_masks(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_all_event_masks (XWindowAttributes *i, int j)
++ {
++           i->all_event_masks = j;
++ }
++ 
++-int  XWindowAttributes_map_state(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_map_state (XWindowAttributes *i)
++ {
++           return(i->map_state);
++ }
++ 
++-void set_XWindowAttributes_map_state(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_map_state (XWindowAttributes *i, int j)
++ {
++           i->map_state = j;
++ }
++ 
++-int  XWindowAttributes_map_installed(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_map_installed (XWindowAttributes *i)
++ {
++           return(i->map_installed);
++ }
++ 
++-void set_XWindowAttributes_map_installed(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_map_installed (XWindowAttributes *i, int j)
++ {
++           i->map_installed = j;
++ }
++ 
++-int  XWindowAttributes_colormap(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_colormap (XWindowAttributes *i)
++ {
++           return(i->colormap);
++ }
++ 
++-void set_XWindowAttributes_colormap(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_colormap (XWindowAttributes *i, int j)
++ {
++           i->colormap = j;
++ }
++ 
++-int  XWindowAttributes_save_under(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_save_under (XWindowAttributes *i)
++ {
++           return(i->save_under);
++ }
++ 
++-void set_XWindowAttributes_save_under(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_save_under (XWindowAttributes *i, int j)
++ {
++           i->save_under = j;
++ }
++ 
++-int  XWindowAttributes_backing_pixel(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_backing_pixel (XWindowAttributes *i)
++ {
++           return(i->backing_pixel);
++ }
++ 
++-void set_XWindowAttributes_backing_pixel(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_backing_pixel (XWindowAttributes *i, int j)
++ {
++           i->backing_pixel = j;
++ }
++ 
++-int  XWindowAttributes_backing_planes(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_backing_planes (XWindowAttributes *i)
++ {
++           return(i->backing_planes);
++ }
++ 
++-void set_XWindowAttributes_backing_planes(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_backing_planes (XWindowAttributes *i, int j)
++ {
++           i->backing_planes = j;
++ }
++ 
++-int  XWindowAttributes_backing_store(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_backing_store (XWindowAttributes *i)
++ {
++           return(i->backing_store);
++ }
++ 
++-void set_XWindowAttributes_backing_store(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_backing_store (XWindowAttributes *i, int j)
++ {
++           i->backing_store = j;
++ }
++ 
++-int  XWindowAttributes_win_gravity(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_win_gravity (XWindowAttributes *i)
++ {
++           return(i->win_gravity);
++ }
++ 
++-void set_XWindowAttributes_win_gravity(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_win_gravity (XWindowAttributes *i, int j)
++ {
++           i->win_gravity = j;
++ }
++ 
++-int  XWindowAttributes_bit_gravity(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_bit_gravity (XWindowAttributes *i)
++ {
++           return(i->bit_gravity);
++ }
++ 
++-void set_XWindowAttributes_bit_gravity(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_bit_gravity (XWindowAttributes *i, int j)
++ {
++           i->bit_gravity = j;
++ }
++ 
++-int  XWindowAttributes_class(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_class (XWindowAttributes *i)
++ {
++           return(i->class);
++ }
++ 
++-void set_XWindowAttributes_class(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_class (XWindowAttributes *i, int j)
++ {
++           i->class = j;
++ }
++ 
++-int  XWindowAttributes_root(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_root (XWindowAttributes *i)
++ {
++           return(i->root);
++ }
++ 
++-void set_XWindowAttributes_root(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_root (XWindowAttributes *i, int j)
++ {
++           i->root = j;
++ }
++ 
++-long  XWindowAttributes_visual(i)
++-XWindowAttributes* i;
+++long 
+++XWindowAttributes_visual (XWindowAttributes *i)
++ {
++           return((long) i->visual);
++ }
++ 
++-void set_XWindowAttributes_visual(i, j)
++-XWindowAttributes* i;
++-long j;
+++void 
+++set_XWindowAttributes_visual (XWindowAttributes *i, long j)
++ {
++           i->visual = (Visual *) j;
++ }
++ 
++-int  XWindowAttributes_depth(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_depth (XWindowAttributes *i)
++ {
++           return(i->depth);
++ }
++ 
++-void set_XWindowAttributes_depth(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_depth (XWindowAttributes *i, int j)
++ {
++           i->depth = j;
++ }
++ 
++-int  XWindowAttributes_border_width(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_border_width (XWindowAttributes *i)
++ {
++           return(i->border_width);
++ }
++ 
++-void set_XWindowAttributes_border_width(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_border_width (XWindowAttributes *i, int j)
++ {
++           i->border_width = j;
++ }
++ 
++-int  XWindowAttributes_height(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_height (XWindowAttributes *i)
++ {
++           return(i->height);
++ }
++ 
++-void set_XWindowAttributes_height(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_height (XWindowAttributes *i, int j)
++ {
++           i->height = j;
++ }
++ 
++-int  XWindowAttributes_width(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_width (XWindowAttributes *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XWindowAttributes_width(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_width (XWindowAttributes *i, int j)
++ {
++           i->width = j;
++ }
++ 
++-int  XWindowAttributes_y(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_y (XWindowAttributes *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XWindowAttributes_y(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_y (XWindowAttributes *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XWindowAttributes_x(i)
++-XWindowAttributes* i;
+++int 
+++XWindowAttributes_x (XWindowAttributes *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XWindowAttributes_x(i, j)
++-XWindowAttributes* i;
++-int j;
+++void 
+++set_XWindowAttributes_x (XWindowAttributes *i, int j)
++ {
++           i->x = j;
++ }
++@@ -1519,45 +1424,43 @@ int j;
++ 
++ /********* XHostAddress functions *****/
++ 
++-long  make_XHostAddress (){
+++long 
+++make_XHostAddress (void){
++           return ((long) calloc(1, sizeof(XHostAddress)));
++ }
++ 
++-long  XHostAddress_address(i)
++-XHostAddress* i;
+++long 
+++XHostAddress_address (XHostAddress *i)
++ {
++           return((long) i->address);
++ }
++ 
++-void set_XHostAddress_address(i, j)
++-XHostAddress* i;
++-long j;
+++void 
+++set_XHostAddress_address (XHostAddress *i, long j)
++ {
++           i->address = (char *) j;
++ }
++ 
++-int  XHostAddress_length(i)
++-XHostAddress* i;
+++int 
+++XHostAddress_length (XHostAddress *i)
++ {
++           return(i->length);
++ }
++ 
++-void set_XHostAddress_length(i, j)
++-XHostAddress* i;
++-int j;
+++void 
+++set_XHostAddress_length (XHostAddress *i, int j)
++ {
++           i->length = j;
++ }
++ 
++-int  XHostAddress_family(i)
++-XHostAddress* i;
+++int 
+++XHostAddress_family (XHostAddress *i)
++ {
++           return(i->family);
++ }
++ 
++-void set_XHostAddress_family(i, j)
++-XHostAddress* i;
++-int j;
+++void 
+++set_XHostAddress_family (XHostAddress *i, int j)
++ {
++           i->family = j;
++ }
++@@ -1565,214 +1468,199 @@ int j;
++ 
++ /********* XImage functions *****/
++ 
++-long  make_XImage (){
+++long 
+++make_XImage (void){
++           return ((long) calloc(1, sizeof(XImage)));
++ }
++ 
++-long  XImage_obdata(i)
++-XImage* i;
+++long 
+++XImage_obdata (XImage *i)
++ {
++           return((long) i->obdata);
++ }
++ 
++-void set_XImage_obdata(i, j)
++-XImage* i;
++-long j;
+++void 
+++set_XImage_obdata (XImage *i, long j)
++ {
++           i->obdata = (XPointer) j;
++ }
++ 
++-int  XImage_blue_mask(i)
++-XImage* i;
+++int 
+++XImage_blue_mask (XImage *i)
++ {
++           return(i->blue_mask);
++ }
++ 
++-void set_XImage_blue_mask(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_blue_mask (XImage *i, int j)
++ {
++           i->blue_mask = j;
++ }
++ 
++-int  XImage_green_mask(i)
++-XImage* i;
+++int 
+++XImage_green_mask (XImage *i)
++ {
++           return(i->green_mask);
++ }
++ 
++-void set_XImage_green_mask(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_green_mask (XImage *i, int j)
++ {
++           i->green_mask = j;
++ }
++ 
++-int  XImage_red_mask(i)
++-XImage* i;
+++int 
+++XImage_red_mask (XImage *i)
++ {
++           return(i->red_mask);
++ }
++ 
++-void set_XImage_red_mask(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_red_mask (XImage *i, int j)
++ {
++           i->red_mask = j;
++ }
++ 
++-int  XImage_bits_per_pixel(i)
++-XImage* i;
+++int 
+++XImage_bits_per_pixel (XImage *i)
++ {
++           return(i->bits_per_pixel);
++ }
++ 
++-void set_XImage_bits_per_pixel(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_bits_per_pixel (XImage *i, int j)
++ {
++           i->bits_per_pixel = j;
++ }
++ 
++-int  XImage_bytes_per_line(i)
++-XImage* i;
+++int 
+++XImage_bytes_per_line (XImage *i)
++ {
++           return(i->bytes_per_line);
++ }
++ 
++-void set_XImage_bytes_per_line(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_bytes_per_line (XImage *i, int j)
++ {
++           i->bytes_per_line = j;
++ }
++ 
++-int  XImage_depth(i)
++-XImage* i;
+++int 
+++XImage_depth (XImage *i)
++ {
++           return(i->depth);
++ }
++ 
++-void set_XImage_depth(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_depth (XImage *i, int j)
++ {
++           i->depth = j;
++ }
++ 
++-int  XImage_bitmap_pad(i)
++-XImage* i;
+++int 
+++XImage_bitmap_pad (XImage *i)
++ {
++           return(i->bitmap_pad);
++ }
++ 
++-void set_XImage_bitmap_pad(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_bitmap_pad (XImage *i, int j)
++ {
++           i->bitmap_pad = j;
++ }
++ 
++-int  XImage_bitmap_bit_order(i)
++-XImage* i;
+++int 
+++XImage_bitmap_bit_order (XImage *i)
++ {
++           return(i->bitmap_bit_order);
++ }
++ 
++-void set_XImage_bitmap_bit_order(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_bitmap_bit_order (XImage *i, int j)
++ {
++           i->bitmap_bit_order = j;
++ }
++ 
++-int  XImage_bitmap_unit(i)
++-XImage* i;
+++int 
+++XImage_bitmap_unit (XImage *i)
++ {
++           return(i->bitmap_unit);
++ }
++ 
++-void set_XImage_bitmap_unit(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_bitmap_unit (XImage *i, int j)
++ {
++           i->bitmap_unit = j;
++ }
++ 
++-int  XImage_byte_order(i)
++-XImage* i;
+++int 
+++XImage_byte_order (XImage *i)
++ {
++           return(i->byte_order);
++ }
++ 
++-void set_XImage_byte_order(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_byte_order (XImage *i, int j)
++ {
++           i->byte_order = j;
++ }
++ 
++-long  XImage_data(i)
++-XImage* i;
+++long 
+++XImage_data (XImage *i)
++ {
++           return((long) i->data);
++ }
++ 
++-void set_XImage_data(i, j)
++-XImage* i;
++-long j;
+++void 
+++set_XImage_data (XImage *i, long j)
++ {
++           i->data = (char *) j;
++ }
++ 
++-int  XImage_format(i)
++-XImage* i;
+++int 
+++XImage_format (XImage *i)
++ {
++           return(i->format);
++ }
++ 
++-void set_XImage_format(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_format (XImage *i, int j)
++ {
++           i->format = j;
++ }
++ 
++-int  XImage_xoffset(i)
++-XImage* i;
+++int 
+++XImage_xoffset (XImage *i)
++ {
++           return(i->xoffset);
++ }
++ 
++-void set_XImage_xoffset(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_xoffset (XImage *i, int j)
++ {
++           i->xoffset = j;
++ }
++ 
++-int  XImage_height(i)
++-XImage* i;
+++int 
+++XImage_height (XImage *i)
++ {
++           return(i->height);
++ }
++ 
++-void set_XImage_height(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_height (XImage *i, int j)
++ {
++           i->height = j;
++ }
++ 
++-int  XImage_width(i)
++-XImage* i;
+++int 
+++XImage_width (XImage *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XImage_width(i, j)
++-XImage* i;
++-int j;
+++void 
+++set_XImage_width (XImage *i, int j)
++ {
++           i->width = j;
++ }
++@@ -1780,97 +1668,91 @@ int j;
++ 
++ /********* XWindowChanges functions *****/
++ 
++-long  make_XWindowChanges (){
+++long 
+++make_XWindowChanges (void){
++           return ((long) calloc(1, sizeof(XWindowChanges)));
++ }
++ 
++-int  XWindowChanges_stack_mode(i)
++-XWindowChanges* i;
+++int 
+++XWindowChanges_stack_mode (XWindowChanges *i)
++ {
++           return(i->stack_mode);
++ }
++ 
++-void set_XWindowChanges_stack_mode(i, j)
++-XWindowChanges* i;
++-int j;
+++void 
+++set_XWindowChanges_stack_mode (XWindowChanges *i, int j)
++ {
++           i->stack_mode = j;
++ }
++ 
++-int  XWindowChanges_sibling(i)
++-XWindowChanges* i;
+++int 
+++XWindowChanges_sibling (XWindowChanges *i)
++ {
++           return(i->sibling);
++ }
++ 
++-void set_XWindowChanges_sibling(i, j)
++-XWindowChanges* i;
++-int j;
+++void 
+++set_XWindowChanges_sibling (XWindowChanges *i, int j)
++ {
++           i->sibling = j;
++ }
++ 
++-int  XWindowChanges_border_width(i)
++-XWindowChanges* i;
+++int 
+++XWindowChanges_border_width (XWindowChanges *i)
++ {
++           return(i->border_width);
++ }
++ 
++-void set_XWindowChanges_border_width(i, j)
++-XWindowChanges* i;
++-int j;
+++void 
+++set_XWindowChanges_border_width (XWindowChanges *i, int j)
++ {
++           i->border_width = j;
++ }
++ 
++-int  XWindowChanges_height(i)
++-XWindowChanges* i;
+++int 
+++XWindowChanges_height (XWindowChanges *i)
++ {
++           return(i->height);
++ }
++ 
++-void set_XWindowChanges_height(i, j)
++-XWindowChanges* i;
++-int j;
+++void 
+++set_XWindowChanges_height (XWindowChanges *i, int j)
++ {
++           i->height = j;
++ }
++ 
++-int  XWindowChanges_width(i)
++-XWindowChanges* i;
+++int 
+++XWindowChanges_width (XWindowChanges *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XWindowChanges_width(i, j)
++-XWindowChanges* i;
++-int j;
+++void 
+++set_XWindowChanges_width (XWindowChanges *i, int j)
++ {
++           i->width = j;
++ }
++ 
++-int  XWindowChanges_y(i)
++-XWindowChanges* i;
+++int 
+++XWindowChanges_y (XWindowChanges *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XWindowChanges_y(i, j)
++-XWindowChanges* i;
++-int j;
+++void 
+++set_XWindowChanges_y (XWindowChanges *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XWindowChanges_x(i)
++-XWindowChanges* i;
+++int 
+++XWindowChanges_x (XWindowChanges *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XWindowChanges_x(i, j)
++-XWindowChanges* i;
++-int j;
+++void 
+++set_XWindowChanges_x (XWindowChanges *i, int j)
++ {
++           i->x = j;
++ }
++@@ -1878,84 +1760,79 @@ int j;
++ 
++ /********* XColor functions *****/
++ 
++-long  make_XColor (){
+++long 
+++make_XColor (void){
++           return ((long) calloc(1, sizeof(XColor)));
++ }
++ 
++-char XColor_pad(i)
++-XColor* i;
+++char 
+++XColor_pad (XColor *i)
++ {
++           return(i->pad);
++ }
++ 
++-void set_XColor_pad(i, j)
++-XColor* i;
++-char j;
+++void 
+++set_XColor_pad (XColor *i, int j)
++ {
++           i->pad = j;
++ }
++ 
++-char XColor_flags(i)
++-XColor* i;
+++char 
+++XColor_flags (XColor *i)
++ {
++           return(i->flags);
++ }
++ 
++-void set_XColor_flags(i, j)
++-XColor* i;
++-char j;
+++void 
+++set_XColor_flags (XColor *i, int j)
++ {
++           i->flags = j;
++ }
++ 
++-int  XColor_blue(i)
++-XColor* i;
+++int 
+++XColor_blue (XColor *i)
++ {
++           return(i->blue);
++ }
++ 
++-void set_XColor_blue(i, j)
++-XColor* i;
++-int j;
+++void 
+++set_XColor_blue (XColor *i, int j)
++ {
++           i->blue = j;
++ }
++ 
++-int  XColor_green(i)
++-XColor* i;
+++int 
+++XColor_green (XColor *i)
++ {
++           return(i->green);
++ }
++ 
++-void set_XColor_green(i, j)
++-XColor* i;
++-int j;
+++void 
+++set_XColor_green (XColor *i, int j)
++ {
++           i->green = j;
++ }
++ 
++-int  XColor_red(i)
++-XColor* i;
+++int 
+++XColor_red (XColor *i)
++ {
++           return(i->red);
++ }
++ 
++-void set_XColor_red(i, j)
++-XColor* i;
++-int j;
+++void 
+++set_XColor_red (XColor *i, int j)
++ {
++           i->red = j;
++ }
++ 
++-int  XColor_pixel(i)
++-XColor* i;
+++int 
+++XColor_pixel (XColor *i)
++ {
++           return(i->pixel);
++ }
++ 
++-void set_XColor_pixel(i, j)
++-XColor* i;
++-int j;
+++void 
+++set_XColor_pixel (XColor *i, int j)
++ {
++           i->pixel = j;
++ }
++@@ -1963,58 +1840,55 @@ int j;
++ 
++ /********* XSegment functions *****/
++ 
++-long  make_XSegment (){
+++long 
+++make_XSegment (void){
++           return ((long) calloc(1, sizeof(XSegment)));
++ }
++ 
++-int  XSegment_y2(i)
++-XSegment* i;
+++int 
+++XSegment_y2 (XSegment *i)
++ {
++           return(i->y2);
++ }
++ 
++-void set_XSegment_y2(i, j)
++-XSegment* i;
++-int j;
+++void 
+++set_XSegment_y2 (XSegment *i, int j)
++ {
++           i->y2 = j;
++ }
++ 
++-int  XSegment_x2(i)
++-XSegment* i;
+++int 
+++XSegment_x2 (XSegment *i)
++ {
++           return(i->x2);
++ }
++ 
++-void set_XSegment_x2(i, j)
++-XSegment* i;
++-int j;
+++void 
+++set_XSegment_x2 (XSegment *i, int j)
++ {
++           i->x2 = j;
++ }
++ 
++-int  XSegment_y1(i)
++-XSegment* i;
+++int 
+++XSegment_y1 (XSegment *i)
++ {
++           return(i->y1);
++ }
++ 
++-void set_XSegment_y1(i, j)
++-XSegment* i;
++-int j;
+++void 
+++set_XSegment_y1 (XSegment *i, int j)
++ {
++           i->y1 = j;
++ }
++ 
++-int  XSegment_x1(i)
++-XSegment* i;
+++int 
+++XSegment_x1 (XSegment *i)
++ {
++           return(i->x1);
++ }
++ 
++-void set_XSegment_x1(i, j)
++-XSegment* i;
++-int j;
+++void 
+++set_XSegment_x1 (XSegment *i, int j)
++ {
++           i->x1 = j;
++ }
++@@ -2022,32 +1896,31 @@ int j;
++ 
++ /********* XPoint functions *****/
++ 
++-long  make_XPoint (){
+++long 
+++make_XPoint (void){
++           return ((long) calloc(1, sizeof(XPoint)));
++ }
++ 
++-int  XPoint_y(i)
++-XPoint* i;
+++int 
+++XPoint_y (XPoint *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XPoint_y(i, j)
++-XPoint* i;
++-int j;
+++void 
+++set_XPoint_y (XPoint *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XPoint_x(i)
++-XPoint* i;
+++int 
+++XPoint_x (XPoint *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XPoint_x(i, j)
++-XPoint* i;
++-int j;
+++void 
+++set_XPoint_x (XPoint *i, int j)
++ {
++           i->x = j;
++ }
++@@ -2055,58 +1928,55 @@ int j;
++ 
++ /********* XRectangle functions *****/
++ 
++-long  make_XRectangle (){
+++long 
+++make_XRectangle (void){
++           return ((long) calloc(1, sizeof(XRectangle)));
++ }
++ 
++-int  XRectangle_height(i)
++-XRectangle* i;
+++int 
+++XRectangle_height (XRectangle *i)
++ {
++           return(i->height);
++ }
++ 
++-void set_XRectangle_height(i, j)
++-XRectangle* i;
++-int j;
+++void 
+++set_XRectangle_height (XRectangle *i, int j)
++ {
++           i->height = j;
++ }
++ 
++-int  XRectangle_width(i)
++-XRectangle* i;
+++int 
+++XRectangle_width (XRectangle *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XRectangle_width(i, j)
++-XRectangle* i;
++-int j;
+++void 
+++set_XRectangle_width (XRectangle *i, int j)
++ {
++           i->width = j;
++ }
++ 
++-int  XRectangle_y(i)
++-XRectangle* i;
+++int 
+++XRectangle_y (XRectangle *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XRectangle_y(i, j)
++-XRectangle* i;
++-int j;
+++void 
+++set_XRectangle_y (XRectangle *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XRectangle_x(i)
++-XRectangle* i;
+++int 
+++XRectangle_x (XRectangle *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XRectangle_x(i, j)
++-XRectangle* i;
++-int j;
+++void 
+++set_XRectangle_x (XRectangle *i, int j)
++ {
++           i->x = j;
++ }
++@@ -2114,84 +1984,79 @@ int j;
++ 
++ /********* XArc functions *****/
++ 
++-long  make_XArc (){
+++long 
+++make_XArc (void){
++           return ((long) calloc(1, sizeof(XArc)));
++ }
++ 
++-int  XArc_angle2(i)
++-XArc* i;
+++int 
+++XArc_angle2 (XArc *i)
++ {
++           return(i->angle2);
++ }
++ 
++-void set_XArc_angle2(i, j)
++-XArc* i;
++-int j;
+++void 
+++set_XArc_angle2 (XArc *i, int j)
++ {
++           i->angle2 = j;
++ }
++ 
++-int  XArc_angle1(i)
++-XArc* i;
+++int 
+++XArc_angle1 (XArc *i)
++ {
++           return(i->angle1);
++ }
++ 
++-void set_XArc_angle1(i, j)
++-XArc* i;
++-int j;
+++void 
+++set_XArc_angle1 (XArc *i, int j)
++ {
++           i->angle1 = j;
++ }
++ 
++-int  XArc_height(i)
++-XArc* i;
+++int 
+++XArc_height (XArc *i)
++ {
++           return(i->height);
++ }
++ 
++-void set_XArc_height(i, j)
++-XArc* i;
++-int j;
+++void 
+++set_XArc_height (XArc *i, int j)
++ {
++           i->height = j;
++ }
++ 
++-int  XArc_width(i)
++-XArc* i;
+++int 
+++XArc_width (XArc *i)
++ {
++           return(i->width);
++ }
++ 
++-void set_XArc_width(i, j)
++-XArc* i;
++-int j;
+++void 
+++set_XArc_width (XArc *i, int j)
++ {
++           i->width = j;
++ }
++ 
++-int  XArc_y(i)
++-XArc* i;
+++int 
+++XArc_y (XArc *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XArc_y(i, j)
++-XArc* i;
++-int j;
+++void 
+++set_XArc_y (XArc *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XArc_x(i)
++-XArc* i;
+++int 
+++XArc_x (XArc *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XArc_x(i, j)
++-XArc* i;
++-int j;
+++void 
+++set_XArc_x (XArc *i, int j)
++ {
++           i->x = j;
++ }
++@@ -2199,110 +2064,103 @@ int j;
++ 
++ /********* XKeyboardControl functions *****/
++ 
++-long  make_XKeyboardControl (){
+++long 
+++make_XKeyboardControl (void){
++           return ((long) calloc(1, sizeof(XKeyboardControl)));
++ }
++ 
++-int  XKeyboardControl_auto_repeat_mode(i)
++-XKeyboardControl* i;
+++int 
+++XKeyboardControl_auto_repeat_mode (XKeyboardControl *i)
++ {
++           return(i->auto_repeat_mode);
++ }
++ 
++-void set_XKeyboardControl_auto_repeat_mode(i, j)
++-XKeyboardControl* i;
++-int j;
+++void 
+++set_XKeyboardControl_auto_repeat_mode (XKeyboardControl *i, int j)
++ {
++           i->auto_repeat_mode = j;
++ }
++ 
++-int  XKeyboardControl_key(i)
++-XKeyboardControl* i;
+++int 
+++XKeyboardControl_key (XKeyboardControl *i)
++ {
++           return(i->key);
++ }
++ 
++-void set_XKeyboardControl_key(i, j)
++-XKeyboardControl* i;
++-int j;
+++void 
+++set_XKeyboardControl_key (XKeyboardControl *i, int j)
++ {
++           i->key = j;
++ }
++ 
++-int  XKeyboardControl_led_mode(i)
++-XKeyboardControl* i;
+++int 
+++XKeyboardControl_led_mode (XKeyboardControl *i)
++ {
++           return(i->led_mode);
++ }
++ 
++-void set_XKeyboardControl_led_mode(i, j)
++-XKeyboardControl* i;
++-int j;
+++void 
+++set_XKeyboardControl_led_mode (XKeyboardControl *i, int j)
++ {
++           i->led_mode = j;
++ }
++ 
++-int  XKeyboardControl_led(i)
++-XKeyboardControl* i;
+++int 
+++XKeyboardControl_led (XKeyboardControl *i)
++ {
++           return(i->led);
++ }
++ 
++-void set_XKeyboardControl_led(i, j)
++-XKeyboardControl* i;
++-int j;
+++void 
+++set_XKeyboardControl_led (XKeyboardControl *i, int j)
++ {
++           i->led = j;
++ }
++ 
++-int  XKeyboardControl_bell_duration(i)
++-XKeyboardControl* i;
+++int 
+++XKeyboardControl_bell_duration (XKeyboardControl *i)
++ {
++           return(i->bell_duration);
++ }
++ 
++-void set_XKeyboardControl_bell_duration(i, j)
++-XKeyboardControl* i;
++-int j;
+++void 
+++set_XKeyboardControl_bell_duration (XKeyboardControl *i, int j)
++ {
++           i->bell_duration = j;
++ }
++ 
++-int  XKeyboardControl_bell_pitch(i)
++-XKeyboardControl* i;
+++int 
+++XKeyboardControl_bell_pitch (XKeyboardControl *i)
++ {
++           return(i->bell_pitch);
++ }
++ 
++-void set_XKeyboardControl_bell_pitch(i, j)
++-XKeyboardControl* i;
++-int j;
+++void 
+++set_XKeyboardControl_bell_pitch (XKeyboardControl *i, int j)
++ {
++           i->bell_pitch = j;
++ }
++ 
++-int  XKeyboardControl_bell_percent(i)
++-XKeyboardControl* i;
+++int 
+++XKeyboardControl_bell_percent (XKeyboardControl *i)
++ {
++           return(i->bell_percent);
++ }
++ 
++-void set_XKeyboardControl_bell_percent(i, j)
++-XKeyboardControl* i;
++-int j;
+++void 
+++set_XKeyboardControl_bell_percent (XKeyboardControl *i, int j)
++ {
++           i->bell_percent = j;
++ }
++ 
++-int  XKeyboardControl_key_click_percent(i)
++-XKeyboardControl* i;
+++int 
+++XKeyboardControl_key_click_percent (XKeyboardControl *i)
++ {
++           return(i->key_click_percent);
++ }
++ 
++-void set_XKeyboardControl_key_click_percent(i, j)
++-XKeyboardControl* i;
++-int j;
+++void 
+++set_XKeyboardControl_key_click_percent (XKeyboardControl *i, int j)
++ {
++           i->key_click_percent = j;
++ }
++@@ -2310,97 +2168,91 @@ int j;
++ 
++ /********* XKeyboardState functions *****/
++ 
++-long  make_XKeyboardState (){
+++long 
+++make_XKeyboardState (void){
++           return ((long) calloc(1, sizeof(XKeyboardState)));
++ }
++ 
++-char *XKeyboardState_auto_repeats(i)
++-XKeyboardState* i;
+++char *
+++XKeyboardState_auto_repeats (XKeyboardState *i)
++ {
++           return(i->auto_repeats);
++ }
++ 
++-void set_XKeyboardState_auto_repeats(i, j)
++-XKeyboardState* i;
++-char *j;
+++void 
+++set_XKeyboardState_auto_repeats (XKeyboardState *i, char *j)
++ {
++           strcpy(i->auto_repeats,  j);
++ }
++ 
++-int  XKeyboardState_global_auto_repeat(i)
++-XKeyboardState* i;
+++int 
+++XKeyboardState_global_auto_repeat (XKeyboardState *i)
++ {
++           return(i->global_auto_repeat);
++ }
++ 
++-void set_XKeyboardState_global_auto_repeat(i, j)
++-XKeyboardState* i;
++-int j;
+++void 
+++set_XKeyboardState_global_auto_repeat (XKeyboardState *i, int j)
++ {
++           i->global_auto_repeat = j;
++ }
++ 
++-int  XKeyboardState_led_mask(i)
++-XKeyboardState* i;
+++int 
+++XKeyboardState_led_mask (XKeyboardState *i)
++ {
++           return(i->led_mask);
++ }
++ 
++-void set_XKeyboardState_led_mask(i, j)
++-XKeyboardState* i;
++-int j;
+++void 
+++set_XKeyboardState_led_mask (XKeyboardState *i, int j)
++ {
++           i->led_mask = j;
++ }
++ 
++-int  XKeyboardState_bell_duration(i)
++-XKeyboardState* i;
+++int 
+++XKeyboardState_bell_duration (XKeyboardState *i)
++ {
++           return(i->bell_duration);
++ }
++ 
++-void set_XKeyboardState_bell_duration(i, j)
++-XKeyboardState* i;
++-int j;
+++void 
+++set_XKeyboardState_bell_duration (XKeyboardState *i, int j)
++ {
++           i->bell_duration = j;
++ }
++ 
++-int  XKeyboardState_bell_pitch(i)
++-XKeyboardState* i;
+++int 
+++XKeyboardState_bell_pitch (XKeyboardState *i)
++ {
++           return(i->bell_pitch);
++ }
++ 
++-void set_XKeyboardState_bell_pitch(i, j)
++-XKeyboardState* i;
++-int j;
+++void 
+++set_XKeyboardState_bell_pitch (XKeyboardState *i, int j)
++ {
++           i->bell_pitch = j;
++ }
++ 
++-int  XKeyboardState_bell_percent(i)
++-XKeyboardState* i;
+++int 
+++XKeyboardState_bell_percent (XKeyboardState *i)
++ {
++           return(i->bell_percent);
++ }
++ 
++-void set_XKeyboardState_bell_percent(i, j)
++-XKeyboardState* i;
++-int j;
+++void 
+++set_XKeyboardState_bell_percent (XKeyboardState *i, int j)
++ {
++           i->bell_percent = j;
++ }
++ 
++-int  XKeyboardState_key_click_percent(i)
++-XKeyboardState* i;
+++int 
+++XKeyboardState_key_click_percent (XKeyboardState *i)
++ {
++           return(i->key_click_percent);
++ }
++ 
++-void set_XKeyboardState_key_click_percent(i, j)
++-XKeyboardState* i;
++-int j;
+++void 
+++set_XKeyboardState_key_click_percent (XKeyboardState *i, int j)
++ {
++           i->key_click_percent = j;
++ }
++@@ -2408,45 +2260,43 @@ int j;
++ 
++ /********* XTimeCoord functions *****/
++ 
++-long  make_XTimeCoord (){
+++long 
+++make_XTimeCoord (void){
++           return ((long) calloc(1, sizeof(XTimeCoord)));
++ }
++ 
++-int  XTimeCoord_y(i)
++-XTimeCoord* i;
+++int 
+++XTimeCoord_y (XTimeCoord *i)
++ {
++           return(i->y);
++ }
++ 
++-void set_XTimeCoord_y(i, j)
++-XTimeCoord* i;
++-int j;
+++void 
+++set_XTimeCoord_y (XTimeCoord *i, int j)
++ {
++           i->y = j;
++ }
++ 
++-int  XTimeCoord_x(i)
++-XTimeCoord* i;
+++int 
+++XTimeCoord_x (XTimeCoord *i)
++ {
++           return(i->x);
++ }
++ 
++-void set_XTimeCoord_x(i, j)
++-XTimeCoord* i;
++-int j;
+++void 
+++set_XTimeCoord_x (XTimeCoord *i, int j)
++ {
++           i->x = j;
++ }
++ 
++-int  XTimeCoord_time(i)
++-XTimeCoord* i;
+++int 
+++XTimeCoord_time (XTimeCoord *i)
++ {
++           return(i->time);
++ }
++ 
++-void set_XTimeCoord_time(i, j)
++-XTimeCoord* i;
++-int j;
+++void 
+++set_XTimeCoord_time (XTimeCoord *i, int j)
++ {
++           i->time = j;
++ }
++@@ -2454,32 +2304,31 @@ int j;
++ 
++ /********* XModifierKeymap functions *****/
++ 
++-long  make_XModifierKeymap (){
+++long 
+++make_XModifierKeymap (void){
++           return ((long) calloc(1, sizeof(XModifierKeymap)));
++ }
++ 
++-long  XModifierKeymap_modifiermap(i)
++-XModifierKeymap* i;
+++long 
+++XModifierKeymap_modifiermap (XModifierKeymap *i)
++ {
++           return((long) i->modifiermap);
++ }
++ 
++-void set_XModifierKeymap_modifiermap(i, j)
++-XModifierKeymap* i;
++-long j;
+++void 
+++set_XModifierKeymap_modifiermap (XModifierKeymap *i, long j)
++ {
++           i->modifiermap = (KeyCode *) j;
++ }
++ 
++-int  XModifierKeymap_max_keypermod(i)
++-XModifierKeymap* i;
+++int 
+++XModifierKeymap_max_keypermod (XModifierKeymap *i)
++ {
++           return(i->max_keypermod);
++ }
++ 
++-void set_XModifierKeymap_max_keypermod(i, j)
++-XModifierKeymap* i;
++-int j;
+++void 
+++set_XModifierKeymap_max_keypermod (XModifierKeymap *i, int j)
++ {
++           i->max_keypermod = j;
++ }
++--- gcl27-2.7.1.orig/xgcl-2/Xutil-2.c
+++++ gcl27-2.7.1/xgcl-2/Xutil-2.c
++@@ -25,31 +25,38 @@
++ #include <X11/Xresource.h>
++ #include <X11/keysym.h>
++ 
++-int IsKeypadKey(keysym) int keysym; { 
+++int IsKeypadKey (int keysym) { 
++  return  (((unsigned)(keysym) >= XK_KP_Space) && ((unsigned)(keysym) <= XK_KP_Equal));}
++ 
++-int IsCursorKey(keysym) int keysym; { 
+++int 
+++IsCursorKey (int keysym)
+++{ 
++   return (((unsigned)(keysym) >= XK_Home)     && ((unsigned)(keysym) <  XK_Select));}
++ 
++-int IsPFKey(keysym) int keysym; { 
+++int 
+++IsPFKey (int keysym) { 
++   return (((unsigned)(keysym) >= XK_KP_F1)     && ((unsigned)(keysym) <= XK_KP_F4));}
++ 
++-int IsFunctionKey(keysym) int keysym; { 
+++int 
+++IsFunctionKey (int keysym) { 
++   return (((unsigned)(keysym) >= XK_F1)       && ((unsigned)(keysym) <= XK_F35));}
++ 
++-int IsMiscFunctionKey(keysym) int keysym; { 
+++int 
+++IsMiscFunctionKey (int keysym) { 
++   return (((unsigned)(keysym) >= XK_Select)   && ((unsigned)(keysym) <  XK_KP_Space));}
++ 
++-int IsModifierKey(keysym) int keysym; { 
+++int 
+++IsModifierKey (int keysym) { 
++   return (((unsigned)(keysym) >= XK_Shift_L)  && ((unsigned)(keysym) <= XK_Hyper_R));}
++ 
++-int XUniqueContext() 
+++int 
+++XUniqueContext (void) 
++ {
++              return( ((int)XrmUniqueQuark()) );
++ }
++ 
++-int XStringToContext(string) 
++-     char *string; 
+++int 
+++XStringToContext (char *string) 
++ {
++      return( (int)XrmStringToQuark(string) );
++ }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..77849165a016bc7c206ed55d03452c76f04c9769
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,49 @@@
++From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
++From: Camm Maguire <camm@debian.org>
++Date: Feb, 19 2026 22:24:25 +0000
++Subject: [PATCH] <short summary of the patch>
++
++TODO: Put a short summary on the line above and replace this paragraph
++with a longer explanation of this change. Complete the meta-information
++with other relevant fields (see below for details). To make it easier, the
++information below has been extracted from the changelog. Adjust it or drop
++it.
++
++---
++The information above should follow the Patch Tagging Guidelines, please
++checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
++are templates for supplementary fields that you might want to add:
++
++Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
++Bug: <upstream-bugtracker-url>
++Bug-<Vendor>: <vendor-bugtracker-url>
++Forwarded: (no|not-needed|<patch-forwarded-url>)
++Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
++Reviewed-By: <name and email of someone who approved/reviewed the patch>
++
++--- gcl27-2.7.1.orig/Makefile.am
+++++ gcl27-2.7.1/Makefile.am
++@@ -459,6 +459,7 @@ h/cmpincludea.h: $(filter-out gclincl.h,
++              $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
++ 
++ o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
+++     chmod +x bin/c23.awk
++      $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
++ 
++ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
++--- gcl27-2.7.1.orig/Makefile.in
+++++ gcl27-2.7.1/Makefile.in
++@@ -4907,6 +4907,7 @@ h/cmpincludea.h: $(filter-out gclincl.h,
++              $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
++ 
++ o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
+++     chmod +x bin/c23.awk
++      $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
++ 
++ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
++--- gcl27-2.7.1.orig/git.tag
+++++ gcl27-2.7.1/git.tag
++@@ -1,2 +1,2 @@
++-"Version_2_7_2pre8"
+++"Version_2_7_2pre9"
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..97d8d11e9104c90ad670d372bcf191216e035435
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++Version_2_7_2pre1
++Version_2_7_2pre2
++Version_2_7_2ore3
++Version_2_7_2pre5
++Version_2_7_2pre6
++Version_2_7_2pre7
++Version_2_7_2pre8
++Version_2_7_2pre9
++Version_2_7_2pre10
++Version_2_7_2pre11
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cc632a9ff1f9d1aa30151c032701b1f112e5b36e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++[type: gettext/rfc822deb] gcl27.templates
diff --cc debian/po/ca.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7c78e1a7b417e2ba60485040041233187786966d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,77 @@@
++# Catalan translation of gcl27's debconf messages
++# Copyright © 2025 poc senderi <pocsenderi@protonmail.com>
++# This file is distributed under the same license as the gcl27 package.
++# poc senderi <pocsenderi@protonmail.com>, 2025.
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl27\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-05-03 13:26+0000\n"
++"PO-Revision-Date: 2025-10-19 12:10+0200\n"
++"Last-Translator: poc senderi <pocsenderi@protonmail.com>\n"
++"Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
++"Language: ca\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++"X-Generator: Poedit 2.4.2\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr ""
++"Voleu usar de manera predeterminada la versió, que encara s'hi està "
++"treballant, ANSI?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++"El GCL es troba en procés d'oferir una imatge conforme a ANSI a més a més de "
++"la imatge tradicional CLtL1 que encara es troba en producció. Mireu el "
++"fitxer README.Debian per una breu descripció sobre aquests termes. Establir "
++"aquesta variable determinarà quina imatge s'usarà per defecte quan s'executi "
++"«gcl27». Podeu canviar localment aquesta decisió establint la variable "
++"d'entorn GCL_ANSI a qualsevol cosa tret de «no» per a la versió ANSI, i a "
++"«no» per a la versió CLtL1, per exemple «GCL_ANSI=t gcl27». La versió activa "
++"es mostrarà al bàner inicial durant l'engegada."
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "Voleu usar per defecte la versió de perfilació?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++"El GCL ara disposa de compatibilitat opcional per a la perfilació usant el "
++"«gprof». Per als detalls, vegeu la documentació de «si::gprof-start» i «si::"
++"gprof-quit». Atès que aquesta versió és més lenta que d'altres sense "
++"compatibilitat amb el «gprof», no es recomana per a l'ús en producció. Podeu "
++"canviar localment la decisió predeterminada feta aquí establint la variable "
++"d'entorn GCL_PROF a qualsevol cosa tret d'una cadena buida per a la "
++"compatibilitat amb perfilació, i a una cadena buida per a les versions més "
++"optimitzades, per exemple «GCL_PROF=t gcl27». Si la perfilació està "
++"activada, això es mostrarà al bàner inicial durant l'engegada."
diff --cc debian/po/cs.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..15a9685beae474cbb222c1f396e3ebc1afa9f4cc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,149 @@@
++#
++#    Translators, if you are not familiar with the PO format, gettext
++#    documentation is worth reading, especially sections dedicated to
++#    this format, e.g. by running:
++#         info -n '(gettext)PO Files'
++#         info -n '(gettext)Header Entry'
++#
++#    Some information specific to po-debconf are available at
++#            /usr/share/doc/po-debconf/README-trans
++#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
++#
++#    Developers do not need to manually edit POT or PO files.
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2007-12-24 13:21+0100\n"
++"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
++"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
++"Language: cs\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "Používat implicitně ANSI verzi (stále ve vývoji)?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "Používat implicitně profilování?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "GCL se nachází ve fázi, kdy kromě tradičního obrazu CLtL1 (který se stále "
++#~ "používá) poskytuje i obraz kompatibilní s ANSI."
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "Pro stručný popis těchto termínů si prosím přečtěte soubor README.Debian. "
++#~ "Touto odpovědí určujete, který obraz se spustí po zadání „gcl@EXT@“. "
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "Toto nastavení můžete přebít nastavením proměnné prostředí GCL_ANSI na "
++#~ "neprázdný řetězec (použije ANSI verzi) nebo na prázdnou hodnotu (použije "
++#~ "CLtL1 verzi). Například GCL_ANSI=t gcl@EXT@. Aktuálně použitá verze se "
++#~ "zobrazí na úvodní obrazovce."
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "GCL nyní podporuje profilování přes gprof."
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "Podrobnosti naleznete v dokumentaci si::gprof-start a si::gprof-quit. "
++#~ "Tato verze je pomalejší než verze bez podpory gprof, tudíž ji "
++#~ "nedoporučujeme pro koncové produkční nasazení."
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "Toto nastavení můžete přebít nastavením proměnné prostředí GCL_PROF na "
++#~ "neprázdný řetězec (zapne profilování) nebo na prázdnou hodnotu (povolí "
++#~ "lepší optimalizace). Například GCL_PROF=t gcl@EXT@. Pokud je profilování "
++#~ "zapnuto, dozvíte se o tom z úvodní obrazovky."
++
++#~ msgid ""
++#~ "GCL is one of the oldest free common lisp systems still in use. Several "
++#~ "production systems have used it for over a decade.  The common lisp "
++#~ "standard in effect when GCL was first released is known as \"Common Lisp, "
++#~ "the Language\" (CLtL1) after a book by Steele of the same name providing "
++#~ "this specification.  Subsequently, a much expanded standard was adopted "
++#~ "by the American National Standards Institute (ANSI), which is still "
++#~ "considered the definitive common lisp language specification to this "
++#~ "day.  GCL is in the process of providing an ANSI compliant image in "
++#~ "addition to its traditional CLtL1 image still in production use.  Setting "
++#~ "this variable will determine which image you will use by default on "
++#~ "executing 'gcl'.  You can locally override this choice by setting the "
++#~ "GCL_ANSI environment variable to any non-empty string for the ANSI build, "
++#~ "and to the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl.  You "
++#~ "may be interested in reviewing the ANSI test results sketching the level "
++#~ "of compliance achieved thus far in /usr/share/doc/gcl/test_results.gz.  "
++#~ "The flavor of the build in force will be reported in the initial startup "
++#~ "banner."
++#~ msgstr ""
++#~ "GCL je jedním z nejstarších svobodných systémů common lispu, který se "
++#~ "dosud používá. Několik produkčních systémů jej používá déle než dekádu. "
++#~ "Při prvním vydání GCL byl v platnosti standard common lispu známý jako "
++#~ "\"Common Lisp, the Language\" (CLtL1) pojmenovaný podle Steelovy knihy "
++#~ "stejného jména, která tento standard definovala. Americkým národním "
++#~ "institutem pro standardizaci (ANSI) pak byl přijat podstatně rozšířený "
++#~ "standard, který se do dnešní doby považuje za konečnou specifikaci common "
++#~ "lispu. Kromě tradičního CLtL1 se GCL snaží nabídnout i verzi odpovídající "
++#~ "ANSI standardu. Nastavením této proměnné určíte, jakým způsobem se má "
++#~ "binárka 'gcl' chovat. Lokálně můžete toto nastavení přepsat nastavením "
++#~ "proměnné prostředí GCL_ANSI na neprázdný řetězec (zapne ANSI chování) "
++#~ "nebo na prázdnou hodnotu (zapne CLtL1 chování). Například GCL_ANSI-t gcl. "
++#~ "Aktuálně vybraný standard bude zobrazen v úvodní obrazovce prostředí. "
++#~ "Zajímavé může být porovnání dosud dosažené shody s ANSI standardem v "
++#~ "souboru /usr/share/doc/gcl/test_results.gz."
diff --cc debian/po/da.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..30cc0adbae2a7b5800fd2206d080fe8b23c981a9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,109 @@@
++# Danish translation gcl.
++# Copyright (C) 2012 gcl & nedenstående oversættere.
++# This file is distributed under the same license as the gcl package.
++# Joe Hansen (joedalton2@yahoo.dk), 2012.
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2012-03-31 12:42+0000\n"
++"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
++"Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
++"Language: da\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "Brug den foreløbige ANSI bygget som standard?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "Brug profileringen bygget som standard?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "GCL er i gang med at tilbyde et ANSI-overholdende aftryk udover det "
++#~ "traditionelle CLtL1-aftryk som stadig er i produktionsbrug."
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "Se venligst filen README.Debian for en kort beskrivelse af disse termer. "
++#~ "Valg af denne indstilling vil bestemme hvilket aftryk som vil blive brugt "
++#~ "som standard, når der køres »gcl@EXT@«."
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "Denne indstilling kan overskrives ved at angive miljøvariablen GCL_ANSI "
++#~ "til enhver streng der ikke er tom for ANSI-bygningen, og til den tomme "
++#~ "streng for CLtL1-bygningen, f.eks. GCL_ANSI=t gcl@EXT@. Den aktuelt "
++#~ "tvungne byggevariant vil blive rapporteret i det oprindelige "
++#~ "opstartsbanner."
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "GCL har valgfri understøttelse for profilering via gprof."
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "Se venligst dokumentationen for si::gprof-start og si::gprof-quit for "
++#~ "detaljer. Da denne bygning er langsommere end bygninger uden gprof-"
++#~ "understøttelse, så anbefales den ikke for endelig produktionsbrug."
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "Angiv miljøvariablen GCL_PROF til den tomme streng for bedre optimerede "
++#~ "bygninger, eller enhver streng der ikke er tom for "
++#~ "profileringsunderstøttelse; f.eks. GCL_PROF=t gcl@EXT@. Hvis profilering "
++#~ "er aktiveret, vil denne blive rapporteret i det oprindelige "
++#~ "opstartsbanner."
diff --cc debian/po/de.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1a15c0318839753d49e396dfd90b43f81e26f576
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,126 @@@
++# Translation of gcl debconf templates to German
++# Copyright (C) Stefan Bauer <stefan.bauer@edv-fix.de>, 2007.
++# Copyright (C) Helge Kreutzmann <debian@helgefjell.de>, 2007, 2008, 2025.
++# Copyright (C) 2024 Camm Maguire
++# This file is distributed under the same license as the gcl package.
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl 2.7.1-4\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2025-05-07 19:26+0200\n"
++"Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n"
++"Language-Team: de <debian-l10n-german@lists.debian.org>\n"
++"Language: de\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "Standardmäßig den sich in Arbeit befindenden ANSI-Build verwenden?"
++
++# FIXME »no« both for the ANSI-Build and for the CLtL1 build? Sentence also strange
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++"GCL arbeitet neben dem traditionellen CLtL1-Abbild für den Produktiveinsatz "
++"zusätzlich an der Bereitstellung eines kompatiblen ANSI-Abbildes. Bitte "
++"beachten Sie die README.Debian-Datei für eine kurze Beschreibung dieses "
++"Themas. Durch diese Variable definieren Sie, welches Abbild voreingestellt "
++"bei der Ausführung von gcl27 verwendet wird. Diese Auswahl kann lokal durch "
++"jede Zeichenkette außer »no« für den ANSI-Bau und »no« für den CLtL1-Bau "
++"außer Kraft gesetzt werden, z.B. GCL_ANSI=t gcl27. Die Variante des "
++"geltenden Baus wird im einführenden Start-Banner berichtet."
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "Standardmäßig den Profiling-Build verwenden?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++"GCL besitzt optionale Unterstützung für Profiling mit Gprof. Bitte lesen Sie "
++"hierzu die Dokumentation von si::gprof-start und si::gprof-quit für "
++"weiterführende Informationen. Da dieser Bau langsamer ist als ohne Gprof-"
++"Unterstützung, wird dieser Weg nicht für den endgültigen produktiven Einsatz "
++"empfohlen. Sie können die hier gemachten Angaben lokal über die GCL_PROF-"
++"Umgebungsvariable durch einen beliebigen Wert ersetzen, bzw. durch einen "
++"leeren Wert für den weitaus anpassungsfähigeren Bau, z.B. GCL_PROF=t gcl27. "
++"Falls Profiling aktiviert ist, erfolgt eine Meldung im einführenden Start-"
++"Banner."
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "GCL ist derzeit dabei, zusätzlich zu dem noch im Einsatz befindlichen "
++#~ "traditionellen CLtL1-Abbild ein ANSI-konformes Abbild bereitzustellen."
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "Bitte lesen Sie die Datei README.Debian fr eine kurze Beschreibung dieser "
++#~ "Begriffe. Die Wahl dieser Option bestimmen, welches Image standardmig "
++#~ "verwendet wird, wenn gcl@EXT@ ausgefhrt wird."
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "Diese Einstellung kann mit der Umgebungsvariablen GCL_ANSI berschrieben "
++#~ "werden. Jede nicht-leere Zeichenkette führt zur ANSI-Erstellung, und die "
++#~ "leere Zeichenkette fhrt zum CLtL1-Bau, z.B. GCL_ANSI=t gcl@EXT@. In der "
++#~ "Startmeldung wird die derzeit erzwungene Bauart berichtet."
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "GCL besitzt optionale Untersttzung fr Profiling mittels Gprof."
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "Bitte lesen Sie die Dokumentation für si::gprof-start und si::gprof-quit "
++#~ "fr Details. Da ein solches Programm langsamer ist als ein Programm ohne "
++#~ "Gprof-Untersttzung, wird dies fr den Produktiveinsatz nicht empfohlen."
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "Setzen Sie die Umgebungsvariable GCL_PROF auf die leere Zeichenkette, um "
++#~ "ein optimiertes Programm zu erhalten oder auf irgendeine nicht-leere "
++#~ "Zeichenkette, für Profiling-Untersttzung; z.B. GCL_PROF=t gcl@EXT@. Falls "
++#~ "Profiling aktiviert ist, wird dies in der Startmeldung angezeigt."
diff --cc debian/po/es.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bc4f918e5d4342a0e2d313977976533c2ea3644c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,197 @@@
++# gcl po-debconf translation to Spanish
++# Copyright (C) 2005, 2007, 2008 Software in the Public Interest
++# Copyright (C) 2024 Camm Maguire
++# This file is distributed under the same license as the gcl package.
++#
++# Changes:
++#   - Initial translation
++#       César Gómez Martín <cesar.gomez@gmail.com>, 2005
++#
++#   - Updates
++#       Rudy Godoy Guillén <rudyd@stone-head.org>, 2007
++#       Francisco Javier Cuadrado <fcocuadrado@gmail.com>, 2008
++#
++# Traductores, si no conoce el formato PO, merece la pena leer la
++# documentación de gettext, especialmente las secciones dedicadas a este
++# formato, por ejemplo ejecutando:
++#
++#   info -n '(gettext)PO Files'
++#   info -n '(gettext)Header Entry'
++#
++# Equipo de traducción al español, por favor, lean antes de traducir
++# los siguientes documentos:
++#
++#   - El proyecto de traducción de Debian al español
++#     http://www.debian.org/intl/spanish/
++#     especialmente las notas de traducción en
++#     http://www.debian.org/intl/spanish/notas
++#
++#   - La guía de traducción de po's de debconf:
++#     /usr/share/doc/po-debconf/README-trans
++#     o http://www.debian.org/intl/l10n/po-debconf/README-trans
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl 2.7.1-7\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-10-06 13:08-0400\n"
++"PO-Revision-Date: 2025-06-20 16:42+0200\n"
++"Last-Translator: Camaleón <noelamac@gmail.com>\n"
++"Language-Team: Debian l10n spanish <debian-l10n-spanish@lists.debian.org>\n"
++"Language: es_ES\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=utf-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++"X-Poedit-SourceCharset: utf-8\n"
++"X-Generator: Poedit 2.4.2\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr ""
++"¿Quiere utilizar la generación ANSI todavía en desarrollo de manera "
++"predeterminada?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the "
++"README.Debian file for a brief description of these terms.  Setting this "
++"variable will determine which image you will use by default on executing "
++"'gcl27'.  You can locally override this choice by setting the GCL_ANSI "
++"environment variable to any string but \"no\" for the ANSI build, and to "
++"\"no\" for the CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build "
++"in force will be reported in the initial startup banner."
++msgstr ""
++"GCL está en proceso de incorporar una imagen compatible con ANSI además de "
++"la imagen CLtL1 tradicional que todavía se usa en producción. Consulte el "
++"archivo README de Debian para una breve descripción acerca de estos "
++"términos. El ajuste de esta variable determinará qué imagen se utilizará de "
++"manera predeterminada cuando ejecute «gcl27». Puede anular esta elección "
++"localmente definiendo la variable de entorno GCL_ANSI a cualquier cadena de "
++"caracteres excepto «no» para la compilación ANSI, y establecerla a «no» para "
++"la compilación CLtL1, p. ej. GCL_ANSI=t gcl27. La versión de la compilación "
++"se indicará en el anuncio inicial de arranque."
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "¿Quiere utilizar la generación con perfilado de manera predeterminada?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, "
++"e.g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in "
++"the initial startup banner."
++msgstr ""
++"GCL ahora dispone de soporte opcional para perfilado a través de gprof. "
++"Consulte la documentación de «si::gprof-start» y de «si::gprof-quit» y "
++"«si::gprof-quit» para más detalles. Dado que esta compilación es más lenta "
++"que otras sin soporte para gprof, no se recomienda usarlo en producción. "
++"Puede anular esta elección de forma local definiendo la variable de entorno "
++"GCL_PROF a cualquier cadena de caracteres no vacía para activar el soporte "
++"de perfilado y a una cadena de caracteres vacía para generar paquetes más "
++"optimizados, p. ej., GCL_PROF=t gcl27. Si el perfilado está activo, se "
++"indicará en el anuncio inicial de arranque."
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "GL está en el proceso de proporcionar una imagen ANSI, además de su "
++#~ "imagen CLtL1 tradicional que todavía se usa."
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "Por favor, véase el archivo README.Debian para una descripción corta de "
++#~ "estos términos. Eligiendo esta opción determinará que imagen se usará de "
++#~ "manera predeterminada al ejecutar «gcl@EXT@»."
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "Esta configuración se puede sobrescribir cambiando la variable de entorno "
++#~ "GCL_ANSI a cualquier cadena de caracteres no vacía para la generación "
++#~ "ANSI, y a una cadena de caracteres vacía para la generación CLtL1, por "
++#~ "ejemplo: «GCL_ANSI=t gcl@EXT@». El actual tipo de generación se mostrará "
++#~ "en la información inicial del arranque."
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "GCL permite usar «profiling», de manera opcional, mediante gprof."
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "Por favor, véase la documentación para los detalles de «si::gprof-start» "
++#~ "y «si::gprof-quit». Ya que esta generación es más lenta que sin el uso de "
++#~ "gprof, no se recomienda para su uso final."
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "Cambie el valor de la variable de entorno GCL_PROF a una cadena de "
++#~ "caracteres vacía para generación más optimizadas, o a una cadena de "
++#~ "caracteres no vacía para usar el «profiling», por ejemplo: «GCL_PROF=t "
++#~ "gcl@EXT@». Si el «profiling» está activado, se mostrará en la información "
++#~ "inicial del arranque."
++
++#~ msgid ""
++#~ "GCL is one of the oldest free common lisp systems still in use. Several "
++#~ "production systems have used it for over a decade.  The common lisp "
++#~ "standard in effect when GCL was first released is known as \"Common Lisp, "
++#~ "the Language\" (CLtL1) after a book by Steele of the same name providing "
++#~ "this specification.  Subsequently, a much expanded standard was adopted "
++#~ "by the American National Standards Institute (ANSI), which is still "
++#~ "considered the definitive common lisp language specification to this "
++#~ "day.  GCL is in the process of providing an ANSI compliant image in "
++#~ "addition to its traditional CLtL1 image still in production use.  Setting "
++#~ "this variable will determine which image you will use by default on "
++#~ "executing 'gcl'.  You can locally override this choice by setting the "
++#~ "GCL_ANSI environment variable to any non-empty string for the ANSI build, "
++#~ "and to the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl.  You "
++#~ "may be interested in reviewing the ANSI test results sketching the level "
++#~ "of compliance achieved thus far in /usr/share/doc/gcl/test_results.gz.  "
++#~ "The flavor of the build in force will be reported in the initial startup "
++#~ "banner."
++#~ msgstr ""
++#~ "GCL es uno de los sistemas libres de «common lisp» más antiguos que "
++#~ "todavía se usan. Varios sistemas en producción han estado usándolo "
++#~ "durante más de una década. Cuando GCL se liberó por primera vez, el "
++#~ "estándar «common lisp» se conocía como «Common Lisp, the Language» "
++#~ "(CLtL1) después de un libro escrito por Steele que llevaba el mismo "
++#~ "nombre y que proporcionaba esta especificación. Posteriormente se adoptó "
++#~ "en el Instituto Nacional de Estándares Americano (ANSI) un estándar más "
++#~ "extendido, que todavía se considera la especificación definitiva del "
++#~ "lenguaje «common lisp» hasta hoy. GCL está en el proceso de proporcionar "
++#~ "una imagen conforme a ANSI además de su imagen CltL1 tradicional que "
++#~ "todavía se usa en producción. Al establecer esta variable se determinará "
++#~ "la imagen por omisión que usará al ejecutar «gcl». Puede anular esta "
++#~ "elección de forma local mediante el establecimiento de la variable de "
++#~ "entorno GCL_ANSI a cualquier cadena no vacía para el paquete ANSI, y a la "
++#~ "cadena vacía para el paquete CLtL1, i.e. GCL_ANSI=t gcl. Quizás esté "
++#~ "interesado en revisar los resultados de las pruebas ANSI describiendo el "
++#~ "nivel de conformidad logrado hasta ahora en /usr/share/doc/gcl/"
++#~ "test_results.gz. Se informará del tipo de paquete usado en el anuncio "
++#~ "inicial de arranque."
diff --cc debian/po/fi.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4eac1a7beaa5855be6f7f04bfce69aa7d5e483d5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,105 @@@
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2007-12-29 23:28+0200\n"
++"Last-Translator: Esko Arajärvi <edu@iki.fi>\n"
++"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
++"Language: fi\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++"X-Poedit-Language: Finnish\n"
++"X-Poedit-Country: Finland\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "Käytetäänkö kehitettävää ANSI-käännöstä oletuksena?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "Käytetäänkö profilointia oletuksena?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "GCL:n on tarkoitus tarjota ANSI-yhteensopiva kuva perinteisen, vielä "
++#~ "tuotantokäytössä olevan CLtL1-kuvan lisäksi."
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "Tiedostosta README.Debian löytyy (englanniksi) näiden termien lyhyet "
++#~ "kuvaukset. Tämä valinta vaikuttaa siihen mitä kuvaa käytetään oletuksena "
++#~ "ajettaessa ”gcl@EXT@”."
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "Tämä asetus voidaan ohittaa asettamalla GCL_ANSI-ympäristömuuttuja. Jos "
++#~ "muuttujan arvo on mikä tahansa ei-tyhjä merkkijono, käytetään ANSI-"
++#~ "käännöstä, ja jos muuttujan arvo on tyhjä merkkijono, käytetään CLtL1-"
++#~ "käännöstä. Esimerkiksi: GCL_ANSI=t gcl@EXT@. Käytetty pakotettu "
++#~ "käännöstapa raportoidaan käynnistysruudussa."
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "GCL tukee valinnaisesti profilointia gprofin avulla."
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "Katso yksityiskohdat (englanniksi) dokumentaatiosta kohdista si::gprof-"
++#~ "start ja si::gprof-quit. Koska tämä käännös on hitaampi kuin käännökset "
++#~ "ilman gprof-tukea, tätä ei suositella tuotantokäyttöön."
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "Aseta GCL_PROF-ympäristömuuttuja tyhjäksi merkkijonoksi käyttääksesi "
++#~ "optimoidumpia käännöksiä ja miksi tahansa ei-tyhjäksi merkkijonoksi "
++#~ "käyttääksesi profilointia. Esimerkiksi: GCL_PROF=t gcl@EXT@. Jos "
++#~ "profilointi on aktivoituna, se raportoidaan käynnistysruudussa."
diff --cc debian/po/fr.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b6f8b1e0db2440ea3e114452d742eab275260bd7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,148 @@@
++# Translation of gcl debconf templates to French
++# Copyright (C) 2007 Sylvain Archenault <sylvain.archenault@laposte.net>
++# Copyright (C) 2024 Camm Maguire
++# This file is distributed under the same license as the iodine package.
++#
++# Sylvain Archenault <sylvain.archenault@laposte.net>, 2007.
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl 2.6.7-1\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2007-12-23 13:03+0100\n"
++"Last-Translator: Sylvain Archenault <sylvain.archenault@laposte.net>\n"
++"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
++"Language: fr\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=ISO-8859-15\n"
++"Content-Transfer-Encoding: 8bit\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "Faut-il utiliser la compilation ANSI par dfaut?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++#, fuzzy
++#| msgid ""
++#| "GCL is in the process of providing an ANSI compliant image in addition to "
++#| "its traditional CLtL1 image still in production use.  Please see the "
++#| "README.Debian file for a brief description of these terms.  Setting this "
++#| "variable will determine which image you will use by default on executing "
++#| "'gcl@EXT@'.  You can locally override this choice by setting the GCL_ANSI "
++#| "environment variable to any non-empty string for the ANSI build, and to "
++#| "the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@.  The "
++#| "flavor of the build in force will be reported in the initial startup "
++#| "banner."
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++"GCL a pour but de fournir une image conforme  la dfinition de l'ANSI en plus "
++"de son image traditionnelle CLtL1 qui est toujours utilise en production. "
++"Veuillez consulter le fichier README.Debian pour plus d'informations sur ces "
++"normes. Ce choix dterminera quelle norme vous allez utiliser par dfaut lors "
++"de l'excution de gcl@EXT@. Vous pouvez localement modifier ce choix en "
++"affectant une chane non vide  la variable d'environnement GCL_ANSI pour une "
++"compilation respectant la norme dfinie par l'ANSI, et une chane vide pour "
++"une compilation en accord avec la norme CLtL1, par exemple GCL_ANSI=t "
++"gcl@EXT@. Le type de compilation sera affich dans le bandeau de dmarrage."
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "Faut-il utiliser le profilage par dfaut?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++#, fuzzy
++#| msgid ""
++#| "GCL now has optional support for profiling via gprof.  Please see the "
++#| "documentation for si::gprof-start and si::gprof-quit for details. As this "
++#| "build is slower than builds without gprof support, it is not recommended "
++#| "for final production use. You can locally override the default choice "
++#| "made here by setting the GCL_PROF environment variable to any non-empty "
++#| "string for profiling support, and to the empty string for the more "
++#| "optimized builds, e.g. GCL_PROF=t gcl@EXT@.  If profiling is enabled, "
++#| "this will be reported in the initial startup banner."
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++"GCL gre dsormais le profilage via gprof. Veuillez consulter la documentation "
++"de si::gprof-start et de si::gprof-quit pour plus d'informations. La "
++"construction produite avec cette option est plus lente que la construction "
++"classique. Par consquent il n'est pas recommand de l'utiliser en production. "
++"Vous pouvez localement modifier ce choix en affectant  la variable "
++"d'environnement GCL_PROF, une chane non vide pour activer le profilage, ou "
++"une chane vide pour une compilation optimise, par exemple GCL_PROF=t "
++"gcl@EXT@. Si le profilage est activ, cela sera affich dans le bandeau de "
++"dmarrage."
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "GCL est en passe de fournir une image respectant la norme ANSI en plus de "
++#~ "l'image traditionnelle CLtL1, toujours utilise en production."
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "Veuillez lire le fichier README.Debian pour une brve description de ces "
++#~ "termes. Le choix de cette option dterminera quelle image sera utilise par "
++#~ "dfaut en excutant gcl@EXT@."
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "Ce rglage peut tre chang en affectant  la variable d'environnement "
++#~ "GCL_ANSI une chane non vide pour la compilation ANSI, et une chane vide "
++#~ "pour la compilation CLtL1, par exemple GCL_ANSI=t gcl@EXT@. Le type de "
++#~ "compilation sera affich dans le bandeau de dmarrage."
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "GCL permet optionnellement la gestion du profilage via gprof."
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "Veuillez vous reporter  la documentation de si::gprof-start et si::gprof-"
++#~ "quit pour plus de dtails. Comme cet excutable est plus lent que les "
++#~ "excutables sans la gestion de gprof, il n'est pas recommand de l'utiliser "
++#~ "en production."
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "Veuillez affecter une chane vide  la variable d'environnement GCL_PROF "
++#~ "pour des compilations optimises, ou une chane non vide pour avoir la "
++#~ "gestion du profilage; par exemple GCL_PROF=t gcl@EXT@. Si le profilage "
++#~ "est activ, cela sera affich dans le bandeau de dmarrage."
diff --cc debian/po/gl.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..afcf35c9f6a488e5114f4bdb451d76f5a4b08d4f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,147 @@@
++# Galician translation of gclcvs's debconf templates
++# This file is distributed under the same license as the gclcvs package.
++# Jacobo Tarrio <jtarrio@debian.org>, 2007.
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: gclcvs\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2008-01-01 13:38+0000\n"
++"Last-Translator: Jacobo Tarrio <jtarrio@debian.org>\n"
++"Language-Team: Galician <proxecto@trasno.net>\n"
++"Language: gl\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "¿Empregar por defecto a versión ANSI que se está a facer?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++#, fuzzy
++#| msgid ""
++#| "GCL is in the process of providing an ANSI compliant image in addition to "
++#| "its traditional CLtL1 image still in production use.  Please see the "
++#| "README.Debian file for a brief description of these terms.  Setting this "
++#| "variable will determine which image you will use by default on executing "
++#| "'gcl@EXT@'.  You can locally override this choice by setting the GCL_ANSI "
++#| "environment variable to any non-empty string for the ANSI build, and to "
++#| "the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@.  The "
++#| "flavor of the build in force will be reported in the initial startup "
++#| "banner."
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++"Estase a traballar para que GCL forneza unha imaxe ANSI ademáis da imaxe "
++"CLtL1 que aínda se emprega en produción. Consulte o ficheiro README.Debian "
++"para ver unha descrición breve deses termos. Ao estabrecer esa variable ha "
++"determinar a imaxe que ha empregar por defecto ao executar \"gcl@EXT@\". "
++"Pode empregar a outra imaxe estabrecendo a variable de ambiente GCL_ANSI a "
++"calquera cadea non baleira para empregar a versión ANSI, e á cadea baleira "
++"para empregar a versión CLtL1; por exemplo, GCL_ANSI=t gcl@EXT@. Hase "
++"informar da versión en uso no cartel que aparece ao iniciar o programa."
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "¿Empregar por defecto a versión con cronometrado?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++#, fuzzy
++#| msgid ""
++#| "GCL now has optional support for profiling via gprof.  Please see the "
++#| "documentation for si::gprof-start and si::gprof-quit for details. As this "
++#| "build is slower than builds without gprof support, it is not recommended "
++#| "for final production use. You can locally override the default choice "
++#| "made here by setting the GCL_PROF environment variable to any non-empty "
++#| "string for profiling support, and to the empty string for the more "
++#| "optimized builds, e.g. GCL_PROF=t gcl@EXT@.  If profiling is enabled, "
++#| "this will be reported in the initial startup banner."
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++"GCL agora ten soporte opcional de cronometrado mediante gprof. Consulte a "
++"documentación de si::gprof-start e si::gprof-quit para máis detalles. Xa que "
++"esta versión é máis lenta que as que non teñen soporte de gprof, non se "
++"recomenda que a empregue para o uso en produción. Pode empregar unha versión "
++"distinta á seleccionada estabrecendo a variable de ambiente GCL_PROF a "
++"calquera cadea non baleira para empregar o soporte de cronometrado, ou á "
++"cadea baleira para as versións máis optimizadas; por exemplo, GCL_PROF=t "
++"gcl@EXT@. Se está activado o cronometrado, hase informar diso no cartel que "
++"aparece ao iniciar o programa."
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "Estase a traballar para que GCL forneza unha imaxe ANSI ademáis da imaxe "
++#~ "CLtL1 que aínda se emprega en produción."
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "Consulte o ficheiro README.Debian para ver unha descrición breve deses "
++#~ "termos. Ao establecer esa variable ha determinar a imaxe que ha empregar "
++#~ "por defecto ao executar \"gcl@EXT@\"."
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "Pode empregar a outra imaxe establecendo a variable de ambiente GCL_ANSI "
++#~ "a calquera cadea non baleira para empregar a versión ANSI, e á cadea "
++#~ "baleira para empregar a versión CLtL1; por exemplo, GCL_ANSI=t gcl@EXT@. "
++#~ "Hase informar da versión en uso no cartel que aparece ao iniciar o "
++#~ "programa."
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "GCL agora ten soporte opcional de cronometrado mediante gprof."
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "Consulte a documentación de si::gprof-start e si::gprof-quit para máis "
++#~ "detalles. Xa que esta versión é máis lenta que as que non teñen soporte "
++#~ "de gprof, non se recomenda que a empregue para o uso en produción."
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "Pode empregar unha versión distinta á seleccionada establecendo a "
++#~ "variable de ambiente GCL_PROF a calquera cadea non baleira para empregar "
++#~ "o soporte de cronometrado, ou á cadea baleira para as versións máis "
++#~ "optimizadas; por exemplo, GCL_PROF=t gcl@EXT@. Se está activado o "
++#~ "cronometrado, hase informar diso no cartel que aparece ao iniciar o "
++#~ "programa."
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f8a5ae13bb8297c337ceadda750fa6de704665ff
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++[type: gettext/rfc822deb] gcl@EXT@.templates
diff --cc debian/po/it.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0f99efacbebbbae43cc5eea0dccbb283659dae1d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,112 @@@
++# ITALIAN TRANSLATION OF GCL'S PO-DEBCONF FILE.
++# COPYRIGHT (C) 2009 THE GCL'S COPYRIGHT HOLDER
++# This file is distributed under the same license as the gcl package.
++#
++# Vincenzo Campanella <vinz65@gmail.com>, 2009.
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2009-11-29 08:39+0100\n"
++"Last-Translator: Vincenzo Campanella <vinz65@gmail.com>\n"
++"Language-Team: Italian <tp@lists.linux.it>\n"
++"Language: it\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr ""
++"Usare in modo predefinito la compilazione ANSI, che è in fase di "
++"approntamento?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "Usare il profiling in modo predefinito?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "Accanto all'immagine tradizionale CLtL1, in uso in realtà produttive, GCL "
++#~ "sta preparando un'immagine conforme ad ANSI."
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "Per maggiori informazioni consultare il file «README.Debian». La scelta "
++#~ "di questa opzione determinerà quale immagine verrà utilizzata in modo "
++#~ "predefinito durante l'esecuzione di «gcl@EXT@»."
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "Questa impostazione può essere sovrascritta impostando la variabile "
++#~ "d'ambiente «GCL_ANSI» con una stringa non vuota per la compilazione ANSI "
++#~ "e con una stringa vuota per la compilazione CLtL1, per esempio: "
++#~ "«GCL_ANSI=t gcl@EXT@». Il tipo di compilazione attualmente in uso viene "
++#~ "mostrato nella schermata di avvio."
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "GCL possiede un supporto opzionale per il profiling tramite gprof."
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "Per maggiori dettagli consultare la documentazione per «si::gprof-start» "
++#~ "e «si::gprof-quit». Poiché questa compilazione è più lenta, rispetto a "
++#~ "quella senza supporto per gprof, non è raccomandata per un utilizzo in "
++#~ "realtà produttive."
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "Per compilazioni ottimizzate impostare la variabile d'ambiente «GCL_PROF» "
++#~ "a una stringa vuota, oppure per impostare il supporto al profiling "
++#~ "impostarla a una stringa non vuota, per esempio «GCL_PROF=t gcl@EXT@». La "
++#~ "schermata d'avvio indicherà se il profiling è abilitato."
diff --cc debian/po/ja.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..58341948d5a108fd40d3840e59eff5ab752a64f7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,107 @@@
++# SOME DESCRIPTIVE TITLE.
++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
++# This file is distributed under the same license as the gcl package.
++# victory <victory.deb@gmail.com>, 2013.
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2013-07-27 23:28+0900\n"
++"Last-Translator: victory <victory.deb@gmail.com>\n"
++"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
++"Language: ja\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "未完成の ANSI ビルドをデフォルトで使用しますか?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "デフォルトで profiling ビルドを使いますか?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "GCL は未だに生産利用されている従来の CLtL1 イメージに加えて ANSI 準拠のイ"
++#~ "メージを提供する過程にあります。"
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "用語については README.Debian ファイルに簡単な説明があります。このオプショ"
++#~ "ンの選択「gcl@EXT@」を実行するときにどのイメージをデフォルトで利用するのか"
++#~ "決定することになります。"
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "この設定は、GCL_ANSI 環境変数に ANSI ビルドでは空白ではない任意の文字列、"
++#~ "CLtL1 ビルドでは空白文字列をセットすることで上書きできます。例えば "
++#~ "GCL_ANSI=t gcl@EXT@。現在実行しているビルドの種類は初期の開始時バナーで報"
++#~ "告されます。"
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "GCL にはオプションで gprof 経由の profiling サポートがあります。"
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "詳細については si::gprof-start や si::gprof-quit の文書を見てください。こ"
++#~ "のビルドは gprof サポートのないビルドより遅いため、最終的な生産利用にはお"
++#~ "勧めしません。"
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "ビルドをもっと最適化する場合は GCL_PROF 環境変数に空白文字列を、profiling "
++#~ "をサポートさせる場合は空白ではない任意の文字列をセットしてください。例え"
++#~ "ば GCL_PROF=t gcl@EXT@。profiling が有効な場合、初期の開始時バナーで報告さ"
++#~ "れます。"
diff --cc debian/po/nl.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..324ec90c6bc67a31c8696a51a37e1e6d6959e10b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,80 @@@
++# Dutch translation of gcl27 debconf templates.
++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
++# Copyright (C) 2024 Camm Maguire
++# This file is distributed under the same license as the PACKAGE package.
++# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
++# Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, 2025.
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl27_2.7.1-4\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2025-05-12 23:27+0200\n"
++"Last-Translator: Frans Spiesschaert <Frans.Spiesschaert@yucom.be>\n"
++"Language-Team: debian-l10n-dutch <debian-l10n-dutch@lists.debian.org>\n"
++"Language: nl\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++"X-Generator: Poedit 3.2.2\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "Wilt u standaard de in-ontwikkeling-zijnde ansi-compilatie gebruiken?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++"GCL is bezig met het aanbieden van een ANSI-conform image naast zijn "
++"traditioneel CLtL1-image dat nog steeds in een productieomgeving wordt "
++"gebruikt. Raadpleeg het bestand README.Debian voor een korte beschrijving "
++"van deze termen. Door deze variabele in te stellen, bepaalt u welk image u "
++"standaard gebruikt bij het uitvoeren van 'gcl27'. U kunt deze keuze lokaal "
++"overschrijven door de omgevingsvariabele GCL_ANSI in te stellen op een "
++"willekeurige tekenreeks, behalve op 'no' voor de ANSI-compilatie en op 'no' "
++"voor de CLtL1-compilatie, bijvoorbeeld GCL_ANSI=t gcl27. Welke de van kracht "
++"zijnde compilatievorm is, zal worden gerapporteerd in de initiële "
++"opstartbanner."
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr ""
++"Wilt u standaard een compilatie met ondersteuning voor profilering gebruiken?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++"GCL biedt nu optionele ondersteuning voor profilering via gprof. Raadpleeg "
++"de documentatie bij si::gprof-start en si::gprof-quit voor meer informatie. "
++"Omdat deze compilatie trager is dan een compilatie zonder gprof-"
++"ondersteuning, wordt deze niet aanbevolen voor het uiteindelijke gebruik in "
++"een productieomgeving. U kunt de hier gemaakte standaardkeuze lokaal "
++"overschrijven door de omgevingsvariabele GCL_PROF in te stellen op een niet-"
++"lege tekenreeks voor profileringsondersteuning, en op de lege tekenreeks "
++"voor de meer geoptimaliseerde compilatie, bijvoorbeeld GCL_PROF=t gcl27. Als "
++"profilering is ingeschakeld, wordt dit vermeld in de initiële opstartbanner."
diff --cc debian/po/pt.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..95dbdab2209ae256913b0abe09bc1d49cc44b2ce
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,129 @@@
++# translation of gcl debconf to European Portuguese
++# Copyright (C) 2024 Camm Maguire
++# This file is distributed under the same license as the gcl package.
++#
++# Américo Monteiro <a_monteiro@gmx.com>, 2007 - 2025.
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl 2.7.1-4\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2025-05-07 21:40+0100\n"
++"Last-Translator: Américo Monteiro <a_monteiro@gmx.com>\n"
++"Language-Team: Portuguese <>\n"
++"Language: pt\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++"X-Generator: Lokalize 22.12.3\n"
++"Plural-Forms: nplurals=2; plural=(n != 1);\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "Usar a compilação ainda-em-desenvolvimento ANSI por predefinição?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++"GCL está no processo de disponibilizar uma imagem compatível com ANSI "
++"adicionalmente à sua imagem tradicional CLtL1 ainda em utilização de "
++"produção. Por favor veja o ficheiro README.Debian para uma breve descrição "
++"destes termos. Definir esta variável irá determinar qual imagem você irá "
++"usar por predefinição ao executar o 'gcl27'. Você pode sobrepor localmente "
++"esta opção ao regular a variável de ambiente GCL_ANSI para qualquer string "
++"diferente de \"no\" para a compilação ANSI, e para \"no\" para a compilação "
++"CLtL1, ex. GCL_ANSI=t gcl27. O tipo de compilação imposto será reportado no "
++"banner inicial de arranque."
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "Usar a compilação com perfis (profiling) como predefinição?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++"O GCL agora tem suporte opcional para perfis via gprof.  Por favor veja a "
++"documentação para si::gprof-start e si::gprof-quit para detalhes. Como esta "
++"compilação é mais lenta que as compilações sem suporte a gprof, não é "
++"recomendada para utilização de produção final. Você pode sobrepor localmente "
++"a escolha predefinida feita aqui ao definir a variável de ambiente GCL_PROF "
++"para qualquer string não vazia para suporte a perfis, e para uma string "
++"vazia para as compilações mais otimizadas, ex. GCL_PROF=t gcl27.  Se os "
++"perfis estiverem activos, isso será reportado no banner inicial de arranque."
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "GCL está no processo de disponibilizar uma imagem compatível com ANSI "
++#~ "como adição à sua imagem tradicional CLtL1 ainda em utilização de "
++#~ "produção."
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "Por favor veja o ficheiro README.Debian para uma breve descrição destes "
++#~ "termos. Escolher esta opção irá determinar qual imagem será usada por "
++#~ "prédefinição ao executar 'gcl@EXT@'."
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "Esta opção pode ser sobreposta ao regular a variável de ambiente GCL_ANSI "
++#~ "para qualquer string não-vazia para a compilação ANSI, e para uma string "
++#~ "vazia para a compilação CLtL1, como por exemplo GCL_ANSI=t gcl@EXT@. O "
++#~ "tipo de compilação actualmente imposto será reportado no banner inicial "
++#~ "de arranque."
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "O GCL tem suporte opcional para 'profiling' via gprof."
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "Por favor veja a documentação de si::gprof-start e si::gprof-quit para "
++#~ "mais detalhes. Como esta compilação é mais lenta do que as compilações "
++#~ "sem o suporte para gprof, não é recomendada para utilização de produção "
++#~ "final."
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "Regule a variável de ambiente GCL_PROF para uma string vazia para mais "
++#~ "compilações optimizadas, ou para qualquer string não-vazia para suporte "
++#~ "de 'profiling'; como por exemplo GCL_PROF=t gcl@EXT@. Se o 'profiling' "
++#~ "estiver activo, isto será reportado no banner inicial de arranque."
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..57caf1521ce6ec2694ec2883c19676a158a3109b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,109 @@@
++# Debconf translations for gcl.
++# Copyright (C) 2016 THE gcl'S COPYRIGHT HOLDER
++# This file is distributed under the same license as the gcl package.
++# Adriano Rafael Gomes <adrianorg@arg.eti.br>, 2016.
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2016-01-05 11:09-0200\n"
++"Last-Translator: Adriano Rafael Gomes <adrianorg@arg.eti.br>\n"
++"Language-Team: Brazilian Portuguese <debian-l10n-portuguese@lists.debian."
++"org>\n"
++"Language: pt_BR\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "Usar a versão ANSI em desenvolvimento por padrão?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "Usar a versão de \"profiling\" por padrão?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "O GCL está em processo de fornecer uma imagem de acordo com o padrão ANSI "
++#~ "em adição à sua imagem CLtL1 tradicional, ainda em uso em produção."
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "Por favor, veja o arquivo README.Debian para uma breve descrição desses "
++#~ "termos. Escolher essa opção determinará qual imagem será usada por padrão "
++#~ "ao executar \"gcl@EXT@\"."
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "Essa configuração pode ser sobreposta definindo a variável de ambiente "
++#~ "GCL_ANSI para qualquer texto não vazio para a versão ANSI, e para um "
++#~ "texto vazio para a versão CLtL1, por exemplo, GCL_ANSI=t gcl@EXT@. O "
++#~ "sabor da versão atualmente definida será exibida na mensagem de "
++#~ "inicialização."
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "O GCL tem suporte opcional a \"profiling\" via gprof."
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "Por favor, veja a documentação para si::gprof-start e si::gprof-quit para "
++#~ "detalhes. Como essa versão é mais lenta que versões sem suporte a gprof, "
++#~ "ela não é recomendada para uso final em produção."
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "Defina a variável de ambiente GCL_PROF para um texto vazio para versões "
++#~ "mais otimizadas, ou para qualquer texto não vazio para ter suporte a "
++#~ "\"profiling\"; por exemplo, GCL_PROF=t gcl@EXT@. Se o \"profiling\" "
++#~ "estiver habilitado, isso será exibido na mensagem de inicialização."
diff --cc debian/po/ru.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6e8f75f0d7ab3a3d6f4054bad6624325c94e318a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,111 @@@
++# translation of ru.po to Russian
++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
++# Copyright (C) 2024 Camm Maguire
++# This file is distributed under the same license as the PACKAGE package.
++#
++# Yuri Kozlov <kozlov.y@gmail.com>, 2008.
++msgid ""
++msgstr ""
++"Project-Id-Version: 2.6.7-36\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2008-01-03 10:22+0300\n"
++"Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n"
++"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
++"Language: ru\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++"X-Generator: KBabel 1.11.4\n"
++"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
++"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "Использовать разрабатываемую ANSI сборку по умолчанию?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "Использовать по умолчанию профилируемую сборку?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "Помимо обычного образа CLtL1, используемого в повсеместной работе, GCL "
++#~ "имеет практически готовый образ, соответствующий ANSI."
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "Краткое описание приведено в файле README.Debian. Данным выбором "
++#~ "определяется, какой из образов будет использован по умолчанию при "
++#~ "выполнении 'gcl@EXT@'."
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "Эта настройка может быть переопределена установкой переменной окружения "
++#~ "GCL_ANSI в непустое значение для ANSI сборки, а пустым значением "
++#~ "выбирается CLtL1 сборка, например GCL_ANSI=t gcl@EXT@. Текущий "
++#~ "используемый тип сборки будет показан при первом запуске."
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "GCL поддерживает необязательное профилирование через gprof."
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "Подробней об этом смотрите в документации на si::gprof-start и si::gprof-"
++#~ "quit. Так как данная сборка работает медленнее чем без поддержки gprof, "
++#~ "её не рекомендуется использовать в реальной работе."
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "Задание переменной окружения GCL_PROF пустого значения включает более "
++#~ "оптимизированную сборку, а любое непустое -- поддержку профилирования; "
++#~ "например GCL_PROF=t gcl@EXT@. Если профилирование включено, то об этом "
++#~ "будет написано при первом запуске."
diff --cc debian/po/sv.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e08465efa3183d4e4362f2c334741ef3c93c7177
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,78 @@@
++# Translation of gcl27 debconf template to Swedish
++# Copyright (C) 2025 Martin Bagge <brother@persilja.net>
++# This file is distributed under the same license as the XX package.
++#
++# Martin Ågren <martin.agren@gmail.com>, 2008.
++# Martin Bagge <brother@persilja.net>, 2025.
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl_2.6.7-36.1_sv\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-10-06 13:08-0400\n"
++"PO-Revision-Date: 2025-12-12 13:47+0100\n"
++"Last-Translator: Martin Bagge <brother@persilja.net>\n"
++"Language-Team: Swedish <debian-l10n-swedish@lists.debian.org>\n"
++"Language: sv\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++"X-Generator: emacs\n"
++"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "Använd det ännu inte färdiga ANSI-bygget som standard?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the "
++"README.Debian file for a brief description of these terms.  Setting this "
++"variable will determine which image you will use by default on executing "
++"'gcl27'.  You can locally override this choice by setting the GCL_ANSI "
++"environment variable to any string but \"no\" for the ANSI build, and to "
++"\"no\" for the CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build "
++"in force will be reported in the initial startup banner."
++msgstr ""
++"GCL arbetar på att tillhandahålla en ANSI-kompatibel avbildning utöver den "
++"traditionella CLtL1-avbildningen som alltjämt används i produktionsmiljö. "
++"Läs filen README.Debian för en kort beskrivning av dessa termer. Genom detta "
++"val bestäms vilken avbildning som används som standard när 'gcl27' "
++"exekveras. Du kan fortfarande göra lokala undantag från detta val genom att "
++"sätta miljövariabeln GCL_ANSI till en annan sträng än \"no\" för att få ANSI-"
++"avbildningen eller ange \"no\" för att få CLtL1-avbildningen. Alltså "
++"GCL_ANSI=t gcl27. Vilken avbildning som används uppges i utskriften vid "
++"uppstarten."
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "Ska profilering användas som standard?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, "
++"e.g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in "
++"the initial startup banner."
++msgstr ""
++"GCL har numera möjlighet att utföra profilering med hjälp av gprof. Läs mer "
++"i dokumentationen om si::gprof-start och si::gprof-quit för närmare "
++"information. Eftersom denna typ av bygge är långsammare än utan stöd för "
++"gprof är rekommendationen att inte använda det för i produktionsmiljön. Du "
++"kan göra lokala undantag från standardvalet här genom att sätta "
++"miljövariablen GCL_PROF till en sträng som inte är tom för att få "
++"profilering aktiverat. Eller till tom sträng för ett mer optimerat bygge. "
++"Exempelvis GCL_PROF=t gcl27. Om profilering är aktiverat kommer detta att "
++"framgå i meddelandet vid start."
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f9e6e6ff4916f10c7fdbb88ac5be95a7e2d017fd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,58 @@@
++# SOME DESCRIPTIVE TITLE.
++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
++# This file is distributed under the same license as the gcl27 package.
++# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
++#
++#, fuzzy
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl27\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-10-06 13:08-0400\n"
++"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
++"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
++"Language-Team: LANGUAGE <LL@li.org>\n"
++"Language: \n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=CHARSET\n"
++"Content-Transfer-Encoding: 8bit\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr ""
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the "
++"README.Debian file for a brief description of these terms.  Setting this "
++"variable will determine which image you will use by default on executing "
++"'gcl27'.  You can locally override this choice by setting the GCL_ANSI "
++"environment variable to any string but \"no\" for the ANSI build, and to "
++"\"no\" for the CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build "
++"in force will be reported in the initial startup banner."
++msgstr ""
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr ""
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, "
++"e.g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in "
++"the initial startup banner."
++msgstr ""
diff --cc debian/po/vi.po
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..067273ef417eb1def76b55345c9090f6b7738e0a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,111 @@@
++# Vietnamese translation for GCL.
++# Copyright © 2007 Free Software Foundation, Inc.
++# Copyright © 2024 Camm Maguire
++# Clytie Siddall <clytie@riverland.net.au>, 2007
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: gcl 2.6.7-36\n"
++"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
++"POT-Creation-Date: 2025-06-01 09:56-0400\n"
++"PO-Revision-Date: 2008-01-04 16:27+1030\n"
++"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
++"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
++"Language: vi\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++"Plural-Forms: nplurals=1; plural=0;\n"
++"X-Generator: LocFactoryEditor 1.7b1\n"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid "Use the work-in-progress ANSI build by default?"
++msgstr "Dùng bản xây dựng đang phát triển ANSI theo mặc định không?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:1001
++msgid ""
++"GCL is in the process of providing an ANSI compliant image in addition to "
++"its traditional CLtL1 image still in production use.  Please see the README."
++"Debian file for a brief description of these terms.  Setting this variable "
++"will determine which image you will use by default on executing 'gcl27'.  "
++"You can locally override this choice by setting the GCL_ANSI environment "
++"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
++"CLtL1 build, e.g. GCL_ANSI=t gcl27.  The flavor of the build in force will "
++"be reported in the initial startup banner."
++msgstr ""
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid "Use the profiling build by default?"
++msgstr "Dùng bản xây dựng đo hiệu năng sử dụng theo mặc định không?"
++
++#. Type: boolean
++#. Description
++#: ../gcl27.templates:2001
++msgid ""
++"GCL now has optional support for profiling via gprof.  Please see the "
++"documentation for si::gprof-start and si::gprof-quit for details. As this "
++"build is slower than builds without gprof support, it is not recommended for "
++"final production use. You can locally override the default choice made here "
++"by setting the GCL_PROF environment variable to any non-empty string for "
++"profiling support, and to the empty string for the more optimized builds, e."
++"g. GCL_PROF=t gcl27.  If profiling is enabled, this will be reported in the "
++"initial startup banner."
++msgstr ""
++
++#~ msgid ""
++#~ "GCL is in the process of providing an ANSI compliant image in addition to "
++#~ "its traditional CLtL1 image still in production use."
++#~ msgstr ""
++#~ "GCL đang phát triển chức năng cung cấp ảnh tùy theo ANSI thêm vào ảnh "
++#~ "CLtL1 truyền thống vẫn còn được sử dụng trong trường hợp sản xuất."
++
++#~ msgid ""
++#~ "Please see the README.Debian file for a brief description of these terms. "
++#~ "Choosing this option will determine which image will be used by default "
++#~ "when executing 'gcl@EXT@'."
++#~ msgstr ""
++#~ "Xem tài liệu Đọc Đi (README.Debian) để tìm mô tả ngắn về các thuật ngữ "
++#~ "này. Bật tùy chọn này thì xác định ảnh nào cần dùng theo mặc định khi "
++#~ "thực hiện lệnh « gcl@EXT@ »."
++
++#~ msgid ""
++#~ "This setting may be overridden by setting the GCL_ANSI environment "
++#~ "variable to any non-empty string for the ANSI build, and to the empty "
++#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
++#~ "enforced build flavor will be reported in the initial startup banner."
++#~ msgstr ""
++#~ "Vẫn còn có thể ghi đè lên thiết lập này bằng cách đặt biến môi trường "
++#~ "« GCL_ANSI » thành bắt cứ chuỗi không rỗng cho bản xây dựng ANSI, và cho "
++#~ "chuỗi rỗng cho bản xây dựng CLtL1, v.d. « GCL_ANSI=t gcl@EXT@ ». Kiểu bản "
++#~ "xây dựng hiện thời được chọn sẽ được thông báo trên băng cờ khởi chạy đầu "
++#~ "tiên."
++
++#~ msgid "GCL has optional support for profiling via gprof."
++#~ msgstr "GCL có hỗ trợ tùy chọn để đo hiệu năng sử dụng thông qua gprof."
++
++#~ msgid ""
++#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
++#~ "details. As this build is slower than builds without gprof support, it is "
++#~ "not recommended for final production use."
++#~ msgstr ""
++#~ "Xem tài liệu hướng dẫn về « si::gprof-start » và « si::gprof-quit » để "
++#~ "tìm chi tiết. Vì bản xây dựng này chạy chậm hơn các bản xây dựng không hỗ "
++#~ "trợ gprof, không khuyên bạn sử dụng nó trong trường hợp sản xuất cuối "
++#~ "cùng."
++
++#~ msgid ""
++#~ "Set the GCL_PROF environment variable to the empty string for more "
++#~ "optimized builds, or any non-empty string for profiling support; e.g. "
++#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
++#~ "the initial startup banner."
++#~ msgstr ""
++#~ "Đặt biến môi trường « GCL_PROF » thành chuỗi rỗng cho các bản xây dựng "
++#~ "tối ưu hơn, hoặc cho bất cứ chuỗi không rỗng nào để hỗ trợ chức năng đo "
++#~ "hiệu năng sử dụng, v.d. « GCL_PROF=t gcl@EXT@ ». Hiệu lực chức năng đo "
++#~ "hiệu năng sử dụng thì nó được thông báo trên băng cờ khởi chạy đầu tiên."
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ffe6181c6b25825f5af4c51ab4b4bf8dde4258f3
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,201 @@@
++#!/usr/bin/make -f
++# Sample debian/rules that uses debhelper. 
++# GNU copyright 1997 by Joey Hess.
++# GNU copyright 2024 Camm Maguire
++#
++# This version is for a hypothetical package that builds an
++# architecture-dependant package, as well as an architecture-independent
++# package.
++
++# Uncomment this to turn on verbose mode. 
++#export DH_VERBOSE=1
++
++#export GCL_MEM_MULTIPLE=0.1
++
++# This has to be exported to make some magic below work.
++export DH_OPTIONS
++
++ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
++NUMJOBS=$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
++endif
++ifneq (,$(NUMJOBS))
++MAKEFLAGS+=-j $(NUMJOBS) -O
++GCL_MULTIPROCESS_MEMORY_POOL?=$(shell pwd)
++export GCL_MULTIPROCESS_MEMORY_POOL
++endif
++
++# This is the debhelper compatability version to use.
++ARCHT:=$(shell dpkg-architecture -qDEB_HOST_ARCH)
++
++MCC?=gcc
++# ifeq ($(ARCHT),alpha)
++# MCC:=gcc-4.6
++# endif
++
++CFLAGS_APPEND?=
++#ifeq ($(ARCHT),ppc64)
++#CFLAGS_APPEND:=$(CFLAGS_APPEND) -O1
++#endif
++
++DEBUG?=
++#ifeq ($(ARCHT),hppa)
++#DEBUG=--enable-debug
++#endif
++
++VERS=$(shell echo $$(cat majvers).$$(cat minvers))
++EXT=$(shell echo $(VERS) | sed 's,\([0-9]\)\.\([0-9]\)\..*,\1\2,')
++
++debian/elpa-gcl$(EXT).elpa: debian/gcl$(EXT)-pkg.el
++      find elisp -name "*.el" >$@
++#     echo debian/gcl$(EXT).el >> debian/elpa-gcl$(EXT).elpa
++      echo debian/gcl$(EXT)-pkg.el >> debian/elpa-gcl$(EXT).elpa
++      echo debian/debian-autoloads.el >> debian/elpa-gcl$(EXT).elpa
++
++VR:=$(shell awk '{if (i) next;i=1;a=$$2;gsub("[()]","",a);split(a,A,"-");print A[1];}' debian/changelog)
++
++debian/gcl$(EXT)-pkg.el: debian/gcl-pkg.el.in
++      cat $< | sed "s,@VR@,$$(echo $(VR) | sed 's,[a-zA-Z]*,,g'),g" | sed "s,@EXT@,$(EXT),g" > $@
++
++
++configure-stamp:
++
++      dh_testdir
++
++      dh_autoreconf
++
++      eval `dpkg-buildflags --export=sh` && \
++      CC=$(MCC) CFLAGS="$$CFLAGS $(CFLAGS_APPEND)" ./configure \
++              --host=$$(dpkg-architecture -qDEB_HOST_GNU_TYPE) \
++              $(DEBUG) \
++              --prefix=/usr
++
++      touch $@
++
++build-stamp: configure-stamp
++      dh_testdir
++      $(MAKE) $(MAKEFLAGS)
++      $(MAKE) $(MAKEFLAGS) check
++      touch $@
++
++build: build-arch build-indep
++build-arch: build-stamp
++build-indep: #build-stamp
++      touch $@
++
++DOC_STUBS=gcl$(EXT) gcl$(EXT)-si gcl$(EXT)-tk gcl$(EXT)-dwdoc
++DOC_FILES=$(addsuffix  .info,$(DOC_STUBS))
++DOC_FILES+=$(addsuffix .dvi,$(DOC_STUBS))
++DOC_FILES+=$(addsuffix .pdf,$(DOC_STUBS))
++DOC_FILES+=$(addsuffix .html,$(DOC_STUBS))
++DOC_FFILES=$(addprefix info/,$(DOC_FILES))
++EXT_TARGS=$(DOC_FFILES) man/man1/gcl$(EXT).1 bin/gcl$(EXT)
++
++install-stamp: build-stamp
++      dh_testdir
++      dh_testroot
++      dh_prep
++      $(MAKE) $(MAKEFLAGS) install-all DESTDIR=$$(pwd)/debian/tmp
++      $(MAKE) $(MAKEFLAGS) $(EXT_TARGS)
++      for i in $(EXT_TARGS); do \
++              for j in $$i*; do \
++                      if [ -d $$j ] ; then l=d ; r=-r ; else l=f ; fi ; \
++                      k=$$(find debian/tmp -type $$l -name $$(echo $$(basename $$j) | sed 's,$(EXT),,g')); \
++                      [ "$$k" = "" ] || cp $$r $$j $$(dirname $$k) ; \
++                      echo $$i $$j $$k; \
++                      [ "$$k" = "" ] || chmod $$(dirname $$k)/$$(basename $$j) --reference=$$k ; \
++                      [ "$$k" = "" ] || rm $$r $$k ; \
++              done ; \
++      done
++      mv debian/tmp/usr/share/doc/gcl debian/tmp/usr/share/doc/gcl$(EXT)
++      touch $@
++
++INS:=$(shell for i in `find debian -name "in.*"` ; do \
++              echo $$i | sed 's,in.,,1' ; \
++              done |\
++           sed "s,\([^x]gcl\),\1$(EXT),g")
++
++gcl$(EXT)% : in.gcl%
++      cat $< | sed -e 's,@EXT@,$(EXT),g' -e 's,@VERS@,$(VERS),g' >$@
++
++debian/po/POTFILES.in: debian/po/in.POTFILES.in
++      cat $< | sed -e 's,@EXT@,$(EXT),g' -e 's,@VERS@,$(VERS),g' >$@
++
++debian/control: debian/control_$(EXT)
++      cp $< $@
++
++install: DH_OPTIONS:=
++install: install-stamp debian/control $(INS)
++      dh_installdirs
++      dh_install
++
++clean: debian/control debian/gcl$(EXT).templates debian/po/POTFILES.in
++      dh_testdir
++      dh_testroot
++      debconf-updatepo
++
++      ! [ -e Makefile ] || $(MAKE) $(MAKEFLAGS) distclean
++
++      dh_autoreconf_clean
++      dh_clean
++
++      for i in $(INS); do echo $^ | grep -q $$i || rm -rf $$i ; done
++      rm -rf debian/substvars debian.upstream
++      rm -rf *stamp build-indep
++      rm -f  debian/elpa-gcl$(EXT).elpa debian/gcl$(EXT)-pkg.el
++      rm -rf $(EXT_TARGS) info/gcl$(EXT)*.info* gcl_pool
++
++debian-clean: debian/control debian/gcl$(EXT).templates debian/po/POTFILES.in
++      dh_testdir
++      dh_testroot
++      debconf-updatepo
++
++      dh_clean
++
++      for i in $(INS); do echo $^ | grep -q $$i || rm -rf $$i ; done
++      rm -rf debian/substvars debian.upstream
++      rm -rf *stamp build-indep
++      rm -f  debian/elpa-gcl$(EXT).elpa debian/gcl$(EXT)-pkg.el
++      rm -rf $(EXT_TARGS) info/gcl$(EXT)*.info* gcl_pool
++
++
++
++# Build architecture-independent files here.
++# Pass -i to all debhelper commands in this target to reduce clutter.
++binary-indep: DH_OPTIONS:=-i
++binary-indep: build install debian/elpa-gcl$(EXT).elpa
++      dh_testdir
++      dh_testroot
++      dh_elpa
++      dh_installdocs
++      dh_installinfo
++      dh_installchangelogs ChangeLog
++      dh_link
++      dh_compress 
++      dh_fixperms 
++      dh_installdeb 
++      dh_gencontrol 
++      dh_md5sums 
++      dh_builddeb 
++
++binary-arch: DH_OPTIONS=-a
++binary-arch: build install #debian/substvars
++      dh_testdir 
++      dh_testroot 
++      dh_installdocs
++      dh_installdebconf 
++      sed -i -e 's,@EXT@,$(EXT),g' debian/gcl$(EXT)/DEBIAN/templates
++      dh_installchangelogs ChangeLog 
++      dh_strip  -Xlibgcl -Xlibansi_gcl -Xlibgcl_gprof -Xlibansi_gcl_gprof
++      dh_lintian 
++      dh_link 
++      dh_compress 
++      dh_fixperms 
++      dh_installdeb 
++      dh_shlibdeps 
++      dh_gencontrol  -u"-Vgcc=$(MCC)"
++      dh_md5sums 
++      dh_builddeb 
++
++binary: binary-indep binary-arch
++.PHONY: build clean binary-indep binary-arch binary install configure
++.PRECIOUS: configure-trad-stamp configure-ansi-stamp configure-gprof-stamp configure-ansi-gprof-stamp
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..091df7a806d1b0be11a42b7e179b72c1edb42cab
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++info/gcl.pdf
++info/gcl-si.pdf
++info/gcl-tk.pdf
++xgcl-2/dwdoc.pdf
diff --cc debian/texi.awk
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ccf9cdbeacbcd79d7905a11921b40b99336d7e8b
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,27 @@@
++#!/usr/bin/awk -f
++
++/^@defun/ {
++  a=split($0,A,"(");
++  b=split($0,B,")");
++  if (a==b) 
++    print ; 
++  else {
++    i=1;
++    c=$0;
++  }
++  next;
++} 
++{
++  if (i) {
++    sub("^ *","");
++    c=c " " $0;
++    a=split(c,A,"(");
++    b=split(c,B,")");
++    if (a==b) {
++      print c;
++      c="";
++      i=0;
++    }
++  } else 
++    print;
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..763a447b2a426e86149cbc81946644c8db4139e9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++-----BEGIN PGP PUBLIC KEY BLOCK-----
++
++mDMEY72GEhYJKwYBBAHaRw8BAQdA0hMaElCclwaCCulgX4m8rDdHFFQvYsZlh01C
++P5LGsOG0JUNhbW0gTWFndWlyZSA8Y2FtbUBtYWd1aXJlZmFtaWx5Lm9yZz6IjwQT
++FggAOBYhBGp0ZZ8fIxkel/m2XhrylJS+USuuBQJjvYYSAhsDBQsJCAcDBRUKCQgL
++BRYCAwEAAh4BAheAAAoJEBrylJS+USuub7AA+MkuPTCpVNVEQCwBTeiG8o3haoss
++t5527jQZtAO4+zoBAL0VaTA+KFzVgWHEDoAybH2TC0DMnf75glwTmWg+PgoNuDgE
++Y72GEhIKKwYBBAGXVQEFAQEHQC+wtP2/fnklVYfh7sP7KpkzLgFyOCNSMFY5mKjB
++XfI5AwEIB4h4BBgWCAAgFiEEanRlnx8jGR6X+bZeGvKUlL5RK64FAmO9hhICGwwA
++CgkQGvKUlL5RK64vIgD+LaehRHfaNaJEe4H9lbq1ocu11YABw66a5XsKvU6gXi4A
++/A1jbf1vLz7JrvZQLAPQ/n8+E9ePART7zAoiqDWIEXAO
++=bH2+
++-----END PGP PUBLIC KEY BLOCK-----
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4e862f201166a07d00244374351e27e7c91fa192
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++version=4
++options=pasv,pgpsigurlmangle=s/$/.sig/ ftp://ftp.gnu.org/pub/gnu/gcl  gcl-([0-9.]*).tar.gz    debian  uupdate